用户/组服务¶
A user/group service 为用户和组提供以下信息:
用户列表
组列表,包括与每个组关联的用户
用户密码
许多身份验证提供者将使用用户/组服务来执行身份验证。在这种情况下,用户/组服务将是对用户和密码进行身份验证的数据库。取决于 身份验证链 如果配置了,则在任何给定时间可能有零个、一个或多个用户/组服务处于活动状态。
用户/组服务可以是只读的,提供对用户信息的访问,但不允许添加或更改新用户和组。如果用户/组服务被配置为委派给用户和组数据库的外部服务,则可能会发生这种情况。这方面的一个例子是外部LDAP服务器。
默认情况下,Geoserver支持三种类型的用户/组服务:
还可以将其他服务添加到Geoserver,例如由 AuthKey 分机。
XML用户/组服务¶
XML用户/组服务将用户/组数据库保存在XML文件中。这是geoserver中的默认行为。此服务将用户数据库表示为XML,并与此对应 XML schema
.
备注
XML用户/组文件, users.xml
,位于geoserver数据目录中, security/usergroup/<name>/users.xml
在哪里 <name>
是用户/组服务的名称。
以下是 users.xml
它附带了默认的geoserver配置:
<userRegistry version="1.0" xmlns="http://www.geoserver.org/security/users">
<users>
<user enabled="true" name="admin" password="crypt1:5WK8hBrtrte9wtImg5i5fjnd8VeqCjDB"/>
</users>
<groups/>
</userRegistry>
这个特定的配置定义了一个用户, admin
,没有组。默认情况下,存储的用户密码使用 weak PBE 方法。
有关更多信息,请参阅 configuring a user/group service 在 Web管理界面 .
JDBC用户/组服务¶
JDBC用户/组服务通过JDBC保持用户/组数据库,在多个表中管理用户信息。用户/组数据库架构如下:
场 |
类型 |
无效的 |
键 |
---|---|---|---|
名称 |
varchar(128个) |
NO |
PRI |
密码 |
瓦尔查尔(254) |
YES |
|
启用 |
字符(1) |
NO |
场 |
类型 |
无效的 |
键 |
---|---|---|---|
用户名 |
varchar(128个) |
NO |
PRI |
道具名 |
varchar(64个) |
NO |
PRI |
比例值 |
瓦查尔(2048) |
YES |
场 |
类型 |
无效的 |
键 |
---|---|---|---|
名称 |
varchar(128个) |
NO |
PRI |
启用 |
字符(1) |
NO |
场 |
类型 |
无效的 |
键 |
---|---|---|---|
组名字 |
varchar(128个) |
NO |
PRI |
用户名 |
varchar(128个) |
NO |
PRI |
这个 users
表是主表,包含具有关联密码的用户列表。这个 user_props
表将其他属性映射到用户。(参见 用户和组 更多详细信息。) groups
表列出了所有可用的组,以及 group_members
表映射哪些用户属于哪些组。
默认的geoserver安全配置为:
名称 |
密码 |
启用 |
---|---|---|
空的 |
空的 |
空的 |
用户名 |
道具名 |
比例值 |
---|---|---|
空的 |
空的 |
空的 |
名称 |
启用 |
---|---|
空的 |
空的 |
组名字 |
用户名 |
---|---|
空的 |
空的 |
有关更多信息,请参阅 configuring a user/group service 在 Web管理界面 .
LDAP用户/组服务¶
LDAP用户/组服务是一种只读用户/组服务,它将用户和组从LDAP存储库映射到geoserver用户和组。
从特定的LDAP节点提取用户,配置为 Users search base
.从特定的LDAP节点提取组,配置为 Groups search base
.为每个匹配用户映射一个用户,为每个匹配组映射一个组。
可以指定包含组名的属性(例如 cn
,用户(如 uid
)以及两者之间的成员关系(如 member
)。但是,也可以指定特定的过滤器来搜索所有用户/组(例如 cn=*
,按名称查找用户/组(例如 cn={{0}}
)并将用户映射到组(例如 member={{0}}
)。这些过滤器也可以从属性名中自动派生。或者,如果提供了过滤器,则属性名称可以保留为空。
对于用户,其他属性(键/值对,请参见 用户和组 )可以通过提供以逗号分隔的属性名列表从LDAP服务器填充。
可以匿名检索用户/组信息,或者在LDAP存储库需要时使用给定的用户名/密码。
此类型角色服务的配置文件(config.xml)示例如下:
<org.geoserver.security.ldap.LDAPUserGroupServiceConfig> <id>2c3e0e8d:154853796a3:-8000</id> <name>myldapservice</name> <className>org.geoserver.security.ldap.LDAPUserGroupService</className> <serverURL>ldap://127.0.0.1:10389/dc=acme,dc=org</serverURL> <groupSearchBase>ou=groups</groupSearchBase> <groupFilter>cn={0}</groupFilter> <groupNameAttribute>cn</groupNameAttribute> <allGroupsSearchFilter>cn=*</allGroupsSearchFilter> <groupSearchFilter>member={0}</groupSearchFilter> <groupMembershipAttribute>member</groupMembershipAttribute> <userSearchBase>ou=people</userSearchBase> <userFilter>uid</userFilter> <userNameAttribute>uid={0}</userNameAttribute> <allUsersSearchFilter>uid=*</allUsersSearchFilter> <useTLS>false</useTLS> <bindBeforeGroupSearch>true</bindBeforeGroupSearch> <user>admin</user> <password>admin</password> <passwordEncoderName>emptyPasswordEncoder</passwordEncoderName> <passwordPolicyName>default</passwordPolicyName> <populatedAttributes>email, telephone</populatedAttributes> </org.geoserver.security.ldap.LDAPUserGroupServiceConfig>
有关更多信息,请参阅 configuring a user/group service 在 Web管理界面 .