Nexus是基于权限(Privilege)做访问控制的。一个用户可以被赋予一个或者多个角色、一个角色可以包含一个或者多个权限、还可以包含一个或者多个角色。用户必须拥有相应的角色继而拥有相应权限、才能做相应操作,但是有一点要注意这里的权限都是基于仓库的,即对仓库的增删改查权限。
在2.x版本, Nexus预定义了一些常用且重要的角色,如:
UI:Basic UIPrivileges:包含了访问Nexus界面必须的最基本的权限。
UI:RepositoryBrowser:包含了浏览仓库页面所需要的权限。
UI:Search:包含了访问快速搜索栏及搜索界面所需要的权限。
Repo:AllRepositories (Read):给予用户读取所有仓库内容的权限。没有仓库的读权限用户将无法在仓库页面看到实际的仓库内容,也无法使用Maven从仓库下载构件。
Repo:AllRepositories (Full Control):给予用户完全控制所有仓库内容的权限。用户不仅可以浏览、下载构件,还可以部署构件及删除仓库内容。
在3.x版本中, Nexus只预定义了两个重要的角色:
nx-admin:拥有Nexus所有权限
nx-anonymous:匿名用户角色,拥有访问Nexus界面,浏览仓库内容和搜索构件的功能。
对于/nexus/content/groups/public/组,默认账户(anonymous)是拥有对其的浏览功能,如图:
对于企业来讲,仓库中的构件是跟公司的业务有关的,不希望被外网直接可以访问,那么就可以禁用掉账户(anonymous),然后创建一个新的账户并给其赋予权限,这样所有公司内部的人都使用这个账号浏览构件。