用户/组和角色服务之间的交互

以下部分描述了 用户/组服务 以及 角色服务 .

计算用户角色

下图说明了用户/组服务和角色服务如何交互以计算用户角色。

../../_images/usergrouprole1.png

User/group and role service interacting for role calculation

从用户/组服务获取启用的用户时,必须标识分配给该用户的角色。识别程序为:

  1. 获取用户的所有已启用组。如果一个组被禁用,它将被丢弃。

  2. 获取与用户关联的所有角色,并将这些角色添加到结果集中。

  3. 对于用户所属的每个已启用组,获取与该组关联的所有角色,并将这些角色添加到结果集中。

  4. 对于结果集中的每个角色,获取所有祖先角色并将这些角色添加到结果集中。

  5. 根据需要对结果集中的每个角色进行个性化设置。

  6. 如果结果集包含本地管理角色,请添加该角色 ROLE_ADMINISTRATOR .

  7. 如果结果集包含本地组管理员角色,请添加该角色 ROLE_GROUP_ADMIN .

备注

角色个性化为每个角色查找角色参数(键/值对),并检查用户属性(键/值对)是否包含相同的键。如果找到任何匹配项,则角色参数的值将替换为用户属性的值。

用户凭据的身份验证

用户/组服务主要在身份验证期间使用。中的身份验证提供程序 身份验证链 可以使用用户/组服务对用户凭据进行身份验证。

../../_images/usergrouprole2.png

Using a a user/group service for authentication

地理服务器默认值

下图说明了geoserver中的默认用户/组服务、角色服务和身份验证提供程序:

../../_images/usergrouprole3.png

默认地理服务器安全配置

配置了两个身份验证提供程序 Root 供应商和 Username/password 供应商。这个 Root 提供程序对地理服务器进行身份验证 根帐户 不使用用户/组服务。这个 Username/password 提供程序是默认的提供程序,将用户名和密码凭据转发给用户/组服务。

存在单个用户/组服务,它将用户数据库保持为XML。数据库包含一个名为 admin 没有团体。类似地,角色服务将角色数据库保持为XML。默认情况下,它包含一个名为 ADMIN ,它与 admin 用户。这个 ADMIN 角色映射到 ROLE_ADMINISTRATOR 因此, admin 在角色计算期间,用户与系统管理员角色关联。