npm 包 verdaccio-level-auth 使用教程

前言

当我们在开发前端项目时,不可避免地需要使用到 npm 包。而在多人协作的情况下,我们需要一个私有的 npm 仓库来管理我们的代码包。verdaccio 就是一个非常好的 npm 私有仓库,但默认情况下它没有权限管理功能。verdaccio-level-auth 则为 verdaccio 提供了身份验证和权限控制功能,以帮助我们更好地管理私有 npm 包。

介绍

verdaccio-level-auth 是 verdaccio 的一个插件,使用 LevelDB 作为后端数据库实现身份验证和权限控制功能。它提供了多种身份验证方式,如用户名密码验证、JWT 验证等,以及多种权限控制方式,如基于用户或组织的权限控制等。

安装

安装 verdaccio-level-auth 很简单,只需要在 verdaccio 的配置文件中添加以下配置:

-----
  ------ -- ----- -------------------- -------
    ---------- ------- -- ------ -------
    ------ -- ----
      ------ -- ---
        --------- ------------------------------------------------------------ -- --
        ------- -- -------
          - -----

配置

verdaccio-level-auth 提供了丰富的配置选项,以下是常用的选项介绍:

datastore

数据库,默认为 LevelDB,也可以设置为其他数据库。例如:

---------- -----

users

用户信息,包含用户名、密码和所在的组织。例如:

------
  -----
    --------- ------
    -------
      - ----------

groups

组织信息,包含组织名和成员名单。例如:

-------
  -----------
    --------
      - ----
      - -----

roles

角色信息,包含角色名和成员名单。例如:

------
  ------
    --------
      - ----

authorize

权限控制,可以配置用户和角色的权限。例如:

----------
  ------
    -----
      ------- -- -- ---- ---
        --------------------- ----- -- --- ---- --- ------------------ -----
  --------
    ------------------------- -- -----
      ------------- -- ----------- ---------
        ------- -------------- -- -------------
        -------- ---------------- -- ------------
  ------
    ------
      ------- -- -- ----- ---
        ---- ----- -- - ----- ----------

使用

安装完成后,我们就可以通过以下命令启动 verdaccio:

---------

当我们访问 http://localhost:4873/ 时,就可以看到 verdaccio 的主页面。此时,我们需要使用任何一个用户和密码,才能登录进入 verdaccio。

一旦登录成功,我们就可以进行 npm 包的管理。例如,发布一个包:

--- ------- -------- ----------

此时,只有经过授权的用户才能访问该包。

总结

verdaccio-level-auth 是一个非常实用的 npm 私有仓库管理工具,它提供了丰富的配置选项,可以帮助我们更好地管理私有 npm 包。在使用过程中,我们需要根据实际情况进行配置,并按照授权流程进行操作,避免出现权限不足等问题。

示例代码

-----
  ------
    ---------- -------
    ------
      ------
        --------- ------------------------------------------------------------
        -------
          - -----
    -------
      -----------
        --------
          - ----
          - -----
    ------
      ------
        --------
          - ----
    ----------
      ------
        -----
          -------
            --------------------- -----
      --------
        -------------------------
          -------------
            ------- --------------
            -------- ----------------
        ------
          ------
            -------
              ---- -----

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066b6151ab1864dac67301


猜你喜欢

  • npm 包 @justinc/prompt-del 使用教程

    在前端开发中,删除操作是非常常见的,特别是在处理表单数据时。但是,如果没有良好的用户提示机制,可能就会出现误删等问题。这时,出现了一款 npm 包 @justinc/prompt-del 就可以很好地...

    3 年前
  • npm 包 @james.talmage/npm-safe-name 使用教程

    当我们开始开发一个新的 npm 包时,我们需要给这个包起一个名字。但是有时候我们可能会发现,这个名字已经被别的开发者使用了。这时,我们需要考虑如何给这个包起一个独特而安全的名字。

    3 年前
  • npm 包 @jamesbliss/react-scrollable-anchor 使用教程

    在前端开发中,页面的滚动是一个非常常见的场景。而使用 @jamesbliss/react-scrollable-anchor 这个 npm 包,可以更加便捷地实现页面滚动功能。

    3 年前
  • npm 包 @jamesdanylik/gatsby-source-goodreads 使用教程

    如果你是一个喜欢读书的前端工程师,那么 @jamesdanylik/gatsby-source-goodreads 这个 npm 包可能会给你带来很大的帮助。本篇文章将详细讲解如何使用这个包来获取你在...

    3 年前
  • npm 包 @jordanebachelet/xml-split 使用教程

    前言 作为前端开发者,其实经常需要处理一些 XML 文件,比如从服务端拿到的数据,我们需要对其进行解析和处理,进而展示到页面上。但是,XML 文件过于臃肿且结构繁多,一般使用 JS 自带的 DOM 解...

    3 年前
  • npm 包 @jordanpapaleo/ui-library 使用教程

    随着前端开发的不断发展,现在很多项目都需要使用到 UI 库来完成开发。在这方面,npm 包 @jordanpapaleo/ui-library 是一个非常优秀的选择。

    3 年前
  • npm 包 draft.min.js 使用教程

    前言 在前端开发中,我们需要经常使用富文本编辑器来实现一些文本编辑和排版的功能。而 Draft.js 是由 Facebook 开发的一个强大的富文本编辑器框架,拥有很多的插件,可以满足大部分文本编辑需...

    3 年前
  • npm 包 @jimjkelly/cloudfront-invalidate 使用教程

    前言 在以往开发过程中,我们经常需要更新我们的 CDN 内容,以便确保最新的代码被访问者使用。为了实现 CDN 刷新,我们可以使用 AWS CloudFront 服务。

    3 年前
  • npm 包 dial.min.js 使用教程

    简介 dial.min.js 是一个能够生成带刻度和数字的钟表形式的刻度盘的 npm 包。它非常适合用于网页中的计时器和计数器等应用。本文将介绍 dial.min.js 的使用方法及示例代码。

    3 年前
  • npm 包 dialog.min.js 使用教程

    在前端开发中,对话框是常见的 UI 组件。而 npm 包 dialog.min.js 是一个轻量级的对话框插件,可以方便地创建各种对话框和提示框。本文将详细介绍如何使用该插件来创建对话框。

    3 年前
  • npm 包 @jamestalmage/empower-assert 使用教程

    概述 在前端开发中,单元测试是一个重要的环节。而其中一个关键的组成部分就是断言库,也就是用来判断测试结果是否符合预期的工具。 在 npm 中,@jamestalmage/empower-assert ...

    3 年前
  • npm 包 @jamestalmage/empower-core 使用教程

    在前端开发中,我们经常使用 npm 包来实现各种复杂的功能,提高开发效率和代码质量。其中,@jamestalmage/empower-core 是一个十分实用的 npm 包,它可以帮助我们更加方便和高...

    3 年前
  • npm 包 @juztcode/sqlite-admin 使用教程

    介绍 npm包 @juztcode/sqlite-admin 是一款用于管理sqlite数据库的工具。它可以通过命令行或图形界面的形式,提供了一些强大的功能,如数据导入/导出、表结构修改、查询等。

    3 年前
  • npm 包 @jamieconnolly/eslint-config 的使用教程

    随着前端技术的不断发展,我们需要借助各种工具提高我们的代码的质量和可维护性。其中一个非常重要的工具就是代码规范检查工具 eslint。而 eslint 的配置也是一个非常重要的问题。

    3 年前
  • npm 包 @jamiedixon/react-autosuggest 使用教程

    前端开发中,自动补全组件是经常使用到的一个功能。其中 @jamiedixon/react-autosuggest 是一款轻量级的 React 自动补全组件。本文将介绍如何使用该 npm 包,涵盖安装、...

    3 年前
  • npm 包 @jamiemcl001/object-pool 使用教程

    简介 JavaScript 中的对象池是一种缓存对象的设计模式。Object Pool 模式是对象池的一个具体实现,它用于管理可重用对象的集合。当需要对象时,可以从对象池中取出对象并使用它。

    3 年前
  • npm 包 @jamieparkinson/redux-form-material-ui 使用教程

    简介 @jamieparkinson/redux-form-material-ui 是一个用于 React 和 Redux 应用的 npm 包,其中包含了易于使用的 Material UI 表单控件和...

    3 年前
  • npm 包 @janrywang/react-contextmenu 使用教程

    简介 @janrywang/react-contextmenu 是一款 React 上下文菜单组件库,通过该组件库可以快速在你的 React 应用中添加强大的上下文菜单功能。

    3 年前
  • npm 包 @josecuevas/isipv4 使用教程

    IPv4 是互联网协议中使用最为广泛的一种,它是一个 32 位无符号整数,通常表示为 4 个十进制数字,例如:192.168.1.1。在前端开发中,经常需要对输入的 IP 地址进行校验以保证数据的准确...

    3 年前
  • npm 包 @jigsaw/purescript 使用教程

    什么是 PureScript PureScript 是一种开源编程语言,它旨在为编写高效且可维护的代码而设计。PureScript 基于函数式编程风格,可运行在 Node.js、浏览器、React N...

    3 年前

相关推荐

    暂无文章