认证
轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)
通过BindDN的LDAP和简单认证方式LDAP共享以下字段:
-
认证名 称 (必选)
- 分配给新授权方法的名称。
-
主机名 (必选)
- LDAP 服务的主机地址.
- 例如:
mydomain.com
-
端口号 (必选)
- LDAP 服务的端口号.
- 例如: LDAP
389
/ LDAPs636
-
安全协议 (可选)
- 连接LDAP服务器时是否使用TLS协议。
-
管理员过滤规则 (可选)
- 一个LDAP过滤器,用于指定哪些用户应该被赋予管理员特权。如果用户帐户符合过滤器条件,则该用户将被授予管理员权限。
- 示例:
(objectClass=adminAccount)
- 适用于Microsoft Active Directory(AD)的示例:
memberOf=CN=admin-group,OU=example,DC=example,DC=org
-
用户名属性(可选)
- 用户LDAP记录中包含用户名称的属性。在第一次成功登录后,将使用指定的属性值作为新的Gitea账户用户名。若留空,则使用登录表单上提供的用户名。
- 当提供的登录名与多个属性匹配时,这一选项非常有用,但是只有一个特定属性应该用于Gitea账户名称,请参阅"用户过滤器"。
- 示例:uid
- 适用于Microsoft Active Directory(AD)的示例:
sAMAccountName
-
名字属性(可选)
- 用户LDAP记录中包含用户名字的属性。将用于填充他们的账户信息。
- 示例:givenName
-
姓氏属性(可选)
- 用户LDAP记录中包含用户姓氏的属性。将用于填充他们的账户信息。
- 示例:
sn
-
电子邮件属性 (必选)
- 用户LDAP记录中包含用户电子邮件地址的属性。将用于填充他们的账户信息。
- 示例:
mail
LDAP(via BindDN)
需要额外设置以下字段:
-
绑定DN (可选)
- 搜索用户时绑定到LDAP服务器的DN。这可以留空以执行匿名搜索。
- 示例:
cn=Search,dc=mydomain,dc=com
-
绑定密码 (可选)
- 上述指定的Bind DN(绑定区别名)的密码,如果有的话。注意:该密码在服务器上使用SECRET_KEY进行加密存储。仍然建议确保Bind DN具有尽可能少的权限。
-
用户搜索基准 (必选)
- 这是用于搜索用户帐户的LDAP基础路径.
- 示例:
ou=Users,dc=mydomain,dc=com
-
用户过滤规则 (必选)
- LDAP 过滤器声明如何查找试图进行身份验证的用户记录
%[1]s
匹配参数将替换为登录表单中给出的登录名 - 示例:
(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))
- 示例 for Microsoft Active Directory (AD):
(&(objectCategory=Person)(memberOf=CN=user-group,OU=example,DC=example,DC=org)(sAMAccountName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
- 如需多次替换,应使用
%[1]s
,例如在将提供的登录名与多个属性(如用户标识符、电子邮件甚至电话号码)进行匹配时。 - 示例:
(&(objectClass=Person)(|(uid=%[1]s)(mail=%[1]s)(mobile=%[1]s)))
- LDAP 过滤器声明如何查找试图进行身份验证的用户记录
-
启用用户同步
- 这个选项启用了一个周期性任务,用于将Gitea用户与LDAP服务器进行同步。默认的同步周期是每24小时, 但您可以在app.ini文件中进行更改。 有 关此部分的详细说明,请参阅sample app.ini 的_cron.sync_external_users_ 部分的注释。前面提到的_User Search Base_和_User Filter_ 设置将限制哪些用户可以使用Gitea以及哪些用户将被同步。 在初始运行任务时,将根据给定的设置创建所有与LDAP匹配的用户,因此在使用大型企业LDAP目录时需要小心。
LDAP(simple auth)
需要额外设置以下字段:
-
用户DN (必选)
- 用作用户 DN 的模板。匹配参数
%s
将替换为登录表单中的登录名。 - 示例:
cn=%s,ou=Users,dc=mydomain,dc=com
- 示例:
uid=%s,ou=Users,dc=mydomain,dc=com
- 用作用户 DN 的模板。匹配参数
-
用户搜索基准 (可选)
- 用户搜索基准声明哪些用户帐户将被搜索.
- 示例:
ou=Users,dc=mydomain,dc=com
-
用户过滤规则 (必选)
- LDAP 过滤器声明何时允许用户登录
%[1]s
匹配参数将替换为登录表单中给出的登录名。 - 示例:
(&(objectClass=posixAccount)(|(cn=%[1]s)(mail=%[1]s)))
- 示例:
(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))
- LDAP 过滤器声明何时允许用户登录