LDAP 服务器
许多系统,如Nexus
,支持LDAP认证。 Casdoor也实现了一个简单的LDAP服务器,支持绑定和搜索操作。
本文档描述了如何连接到Casdoor中的LDAP服务器并实现简单的登录认证。
LDAP 服务器端口号
LDAP服务器默认监听389
端口。 您可以通过修改conf/app.conf中的ldapServerPort
值来更改默认端口。
工作原理
与Casdoor中的LDAP客户端类似,LDAP服务器中的用户都是posixAccount
的子类。
当服务器接收到LDAP传输的一组数据时,它将解析cn
和ou
,其中cn
代表用户名,ou
代表组织名称。 dc
并不重要。
如果是绑定操作,服务器将使用Casdoor来验证用户名和密码,并在Casdoor中授予用户权限。
如果是搜索操作,服务器将根据绑定操作授予客户端的权限,检查搜索操作是否合法,并返回响应。
信息
我们只支持简单认证。
如何绑定
在Casdoor LDAP服务器中,我们只认可类似于这种格式的DN
:cn=admin,ou=built-in,dc=example,dc=com
。
请将管理员用户的DN
设置为上述格式。 然后,您可以使用这个DN
和用户的密码绑定到LDAP服务器,以登录到Casdoor进行验证。 如果服务器验证成功,用户将在Casdoor中被授予权限。
如何搜索
一旦绑定操作成功完成,您就可以进行搜索操作。 搜索和绑定操作之间存在一些差异。
- 要搜索某个用户,例如
built-in
组织下的Alice
,您应该使用类似于这样的DN
:ou=built-in,dc=example,dc=com
,并在过滤器字段中添加cn=Alice
。 - 要搜索某个组织下的所有用户,例如
built-in
中的所有用户,您应该使用类似于这样的DN
:ou=built-in,dc=example,dc=com
,并在过滤器字段中添加cn=*
。 - 要搜索所有组织中的所有用户(假设用户有足够的权限),您应该使用类似于这样的
DN
:ou=*,dc=example,dc=com
,并在过滤器字段中添加cn=*
。 - To search for all users in a specific group, you should use a filter query like this:
(memberOf=organization_name/group_name)
in the Filter field.