cnpm / cnpmcore

Private NPM Registry for Enterprise
https://npmmirror.com
MIT License
607 stars 80 forks source link

没有管理界面,如何添加scope已经授权用户访问对应的scope #566

Closed hwzero closed 11 months ago

hwzero commented 1 year ago

没有管理界面,如何添加scope已经授权用户访问对应的scope

github-actions[bot] commented 1 year ago

我们已经看到你的反馈,如果是功能缺陷,可以提供一下重现该问题的方式;如果是新功能需求,我们会尽快加入讨论。同时我们非常期待你可以加入我们的贡献者行列,让项目可以长期可持续发展。

elrrrrrrr commented 1 year ago

你好,目前没有管理界面,需要黑屏调用接口来进行操作。

另外,cnpmcore 主要面向企业内,在 scope 设计和 npm scope 有些差异,默认所有用户都可以读取。

hwzero commented 1 year ago

你好,目前没有管理界面,需要黑屏调用接口来进行操作。

另外,cnpmcore 主要面向企业内,在 scope 设计和 npm scope 有些差异,默认所有用户都可以读取。

你好,能否给下接口调用的方法说明,我这边粗略搜了下ports/admin下面的接口,好像是看到一些接口,但是需要管理员权限,我没接触过egg框架,不知道这里管理员指的是 cnpm login的时候用的特殊的用户吗?

elrrrrrrr commented 1 year ago

如何添加scope已经授权用户访问对应的scope

目前没有方式实现特定用户可以访问特定 scope 的包。

scope 在 cnpmcore 中的使用场景如下:

  1. 可以配置特定 scope 的包,在当前 cnpmcore 部署的网站中发布,默认是 @cnpm 或者 @cnpmjs
    • 需要开启 allowPublicRegistration 配置允许注册
    • 需要配置 allowScopes 配置可以自由发布的 scope,或开启 allowPublishNonScopePackage 允许发布公网包
    • 上述配置可以在 config.default.ts 中进行修改
  2. 可以创建一个特定的 registry,创建时可以关联一些 scope,这些 scope 的包只会从这个 registry 进行同步

    • 主要用于从 cnpmjs.org 中进行迁移

    另外,我们还提供了一个 alwaysAuth 的配置,如果开启后,则需要用户执行 npm login 后,才能访问所有接口。

    • 需要开启 alwaysAuth
    • 需要开启 allowPublicRegistration 配置允许注册

上面是我能想到的一些应用场景,我不确定你具体的需求是什么,如果方便的话可以再具体描述一下使用场景。

hwzero commented 1 year ago

如何添加scope已经授权用户访问对应的scope

目前没有方式实现特定用户可以访问特定 scope 的包。

scope 在 cnpmcore 中的使用场景如下:

  1. 可以配置特定 scope 的包,在当前 cnpmcore 部署的网站中发布,默认是 @cnpm 或者 @cnpmjs
  • 需要开启 allowPublicRegistration 配置允许注册
  • 需要配置 allowScopes 配置可以自由发布的 scope,或开启 allowPublishNonScopePackage 允许发布公网包
  • 上述配置可以在 config.default.ts 中进行修改
  1. 可以创建一个特定的 registry,创建时可以关联一些 scope,这些 scope 的包只会从这个 registry 进行同步
  • 主要用于从 cnpmjs.org 中进行迁移

另外,我们还提供了一个 alwaysAuth 的配置,如果开启后,则需要用户执行 npm login 后,才能访问所有接口。

  • 需要开启 alwaysAuth
  • 需要开启 allowPublicRegistration 配置允许注册

上面是我能想到的一些应用场景,我不确定你具体的需求是什么,如果方便的话可以再具体描述一下使用场景。

多谢解释,这样是不是每次添加allowScopes都要改动配置文件重启?我看数据库里面有 scope,registry 等这些表,想着是不是可以动态的配置这些信息?

elrrrrrrr commented 1 year ago

@hwzero 是的 修改后需要重启生效。或者可以使用集成模式通过npm 包的形式集成,扩展一些方法 修改 this.app.config 即可。

db 表中的配置主要用于多同步源配置场景。

elrrrrrrr commented 11 months ago

@hwzero 我将暂时关闭这个 issue,如果仍需进一步讨论可以继续 reopen 😇