我在某处安装了Gitlab服务器,我正在尝试让它为我的AD用户工作。我有以下配置:
Select cast(id as varchar(max)), score1, score2, score1+score2 as sum, (CONVERT(DECIMAL(10,2),score1)+score2)/2 as average
from yourtable
UNION ALL
Select 'Total', (select sum(score1) from yourtablename) as Score1Total,(select sum(score2) from yourtablename) as Score2Total, (select sum(score1)+sum(score2) from yourtablename) as TotalSum, (select (CONVERT(DECIMAL(10,2),sum(score1))+sum(score2))/count(*)) from yourtablename as TotalAverage
但我无法使用提供的设置登录。
我对LDAP设置不太熟悉,但这是PHP中的一个代码,用于登录我们的内部系统,并且运行良好:
label: 'LDAP'
host: 'myserver.com'
port: 389
#uid: ''
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: ''
#password: ''
active_directory: true
allow_username_or_email_login: true
block_auto_created_users: false
base: ''
user_filter: ''
## EE only
group_base: ''
admin_group: ''
sync_ssh_keys: false
我想我不知道将$ldap = ldap_connect("ldap://myserver.com/");
if(!ldap_bind($ldap, "DOMAIN\\$username", $password)) {
echo "Authentication Error";
} else {
echo "OK";
}
放在Gitlab配置中的哪个位置。
我已经完成了问题并用Google搜索,没有任何效果。
我还尝试使用DOMAIN
和username
以及DOMAIN\username
和username@myserver.com
登录,但都没有效果。
通过一些配置(我不记得确切的内容,但如果有必要我会找到它),我在日志中遇到以下错误:
username@DOMAIN
修改
这就是我的配置现在的样子,但仍无效。
ArgumentError (uid or filter MUST be provided):
作为参考,这是SVN服务器使用我们AD的方式:
label: 'LDAP'
host: 'myserver.com'
port: 389
uid: 'sAMAccountName'
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: 'CN=gitldap,CN=Users,DC=myserver,DC=com'
password: 'thepassword'
active_directory: true
allow_username_or_email_login: true
#block_auto_created_users: false
base: 'ou=MyServer,dc=myserver,dc=com'
#user_filter: ''
### EE only
#group_base: ''
#admin_group: ''
#sync_ssh_keys: false
我必须提到SVNParentPath /var/svn
SSLRequireSSL
AuthType Basic
AuthName "MyServer Source Control System"
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPBindDN "CN=svnldap,CN=Users,DC=myserver,DC=com"
AuthLDAPBindPassword 'thepassword'
AuthLDAPURL "ldap://dc-2.myserver.com:389/ou=MyServer,dc=myserver,dc=com?sAMAccountName" NONE
AuthzSVNAccessFile /etc/svn/dav_svn.authz
Require valid-user
和myserver.com
解析同一台机器。
答案 0 :(得分:1)
第一步是使用ldapbind
检查对LDAP的绑定(例如参见" Using ldapbind to Authenticate")。
正如OP提到的那样,它允许检测用户ID是否正确。
我必须使用Common name,它是bind dn中的名字+姓氏 我误用了用户名。
我使用Git LDAP
代替gitldap
,一切正常
答案 1 :(得分:0)
您需要为GitLab创建一个AD用户帐户(&#34;服务帐户&#34;),其ID和密码必须在GitLab配置中指定为<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="200dp" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"></TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"></TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_column="4"></TableRow>
</TableRow>
</TableLayout>
和bind_dn
password
应设置为&#39; sAMAccountName&#39;。
这与您在PHP中所做的不同。您使用用户的凭据通过LDAP访问AD。 GitLab将使用它自己的用户帐户,然后查找用户。