使用LDAP对ActiveDirectory进行身份验证¶
本教程介绍如何使用geoserver ldap支持将activedirectory作为ldap服务器连接到Windows域。建议 LDAP身份验证 在继续之前请阅读。
Windows服务器和ActiveDirectory¶
Active Directory只是另一个LDAP服务器实现,但它具有一些我们必须知道的功能,以便成功地将其与GeoServer LDAP身份验证一起使用。在本教程中,我们假设有一个名为ActiveDirectory的Windows服务器域控制器 domain-controller
对于一个名为 ad.local
.如果您的环境使用不同的名称(当然也会使用不同的名称),请在需要时使用您的真实名称。
我们还假设:
一个名为
GISADMINGROUP
存在。一个名为
GISADMIN
存在,有密码secret
,属于GISADMINGROUP
组。一个名为
GISUSER
存在,有密码secret
不属于GISADMINGROUP
组。
备注
ADMINISTRATOR通常不能用作ActiveDirectory的管理组名,因为ADMINISTRATOR是Windows环境中的根用户名。
配置LDAP身份验证提供程序¶
启动geoserver并以
admin
用户。单击
Authentication
链接位于Security
导航边栏的部分。向下滚动到
Authentication Providers
面板并单击Add new
链接。单击
LDAP
链接。按如下方式填写设置表单的字段:
集合
Name
到“AD LDAP”集合
Server URL
到“ldap://domain controller/dc=ad,dc=local”集合
Filter used to lookup user
到(|(userPrincipalName={{0}})(sAMAccountName={{1}}))
集合
Format used for user login name
发送至“0@ad.local”检查
Use LDAP groups for authorization
检查
Bind user before searching for groups
集合
Group to use as ADMIN
至“Gisadmingroup”集合
Group search base
至“CN=用户”集合
Group search filter
“成员=0”
通过在右侧的连接测试表单中输入用户名“gisadmin”和密码“secret”来测试LDAP连接,然后单击
Test Connection
按钮。应在页面顶部报告成功的连接。
保存。
返回“身份验证”页,向下滚动到
Provider Chain
面板并移动ad-ldap
提供程序来自Available
到Selected
.保存。
测试LDAP登录¶
导航到geoserver主页并注销管理帐户。
以用户“GISUSER”身份登录,密码为“SECRET”。
作为gisuser登录不会产生任何管理功能,因为gisuser帐户尚未映射到管理员角色。在下一节中,将配置geoserver以将组从LDAP数据库映射到角色。
现在,我们将使用具有管理权限的用户登录。
导航到geoserver主页并注销帐户。
以用户“GISADMIN”身份登录,密码为“SECRET”。
一旦登录,应提供完整的管理功能。
配置LDAP角色服务¶
另一个步骤允许配置角色服务以从LDAP存储库中获取地理服务器角色,并允许将访问权限分配给这些角色。
单击
Users,Group,Roles
链接位于Security
导航边栏的部分。单击
Add new link
下Role Services
部分。单击
LDAP
选择权New Role Service
部分。进入
ldapadrs
在Name
文本字段。进入
ldap://domain-controller/dc=ad,dc=local
在Server URL
文本字段。进入
CN=Users
在Group search base
文本字段。进入
member={{1}},dc=ad,dc=local
在Group user membership search filter
文本字段。进入
objectClass=group
在All groups search filter
文本字段。进入
sAMAccountName={{0}}
在Filter used to lookup user
文本字段。
然后我们需要选择一个用户在服务器上进行身份验证(许多LDAP服务器不允许匿名数据查找)。
检查
Authenticate to extract roles
复选框。进入
GISADMIN@ad.local
在Username
文本字段。进入
secret
在Password
文本字段。保存。
单击
ldapadrs
角色服务项Role Services
部分。选择
ROLE_DOMAIN ADMINS
从Administrator role
组合框。选择
ROLE_DOMAIN ADMINS
从Group administrator role
组合框。再次保存。
现在,您应该能够在 Available Roles
列表显示(例如 Data
和 Services
规则部分。