Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
c5ad0119
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c5ad0119
编写于
10月 22, 2014
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix-ldap-check' into 'master'
Fix ldap check Fixes gitlab/gitlabhq#1691 See merge request !1206
上级
47064ea5
da21b9e7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
31 deletion
+15
-31
lib/gitlab/ldap/adapter.rb
lib/gitlab/ldap/adapter.rb
+5
-1
lib/tasks/gitlab/check.rake
lib/tasks/gitlab/check.rake
+10
-30
未找到文件。
lib/gitlab/ldap/adapter.rb
浏览文件 @
c5ad0119
...
...
@@ -22,7 +22,7 @@ module Gitlab
Gitlab
::
LDAP
::
Config
.
new
(
provider
)
end
def
users
(
field
,
value
)
def
users
(
field
,
value
,
limit
=
nil
)
if
field
.
to_sym
==
:dn
options
=
{
base:
value
,
...
...
@@ -45,6 +45,10 @@ module Gitlab
end
end
if
limit
.
present?
options
.
merge!
(
size:
limit
)
end
entries
=
ldap_search
(
options
).
select
do
|
entry
|
entry
.
respond_to?
config
.
uid
end
...
...
lib/tasks/gitlab/check.rake
浏览文件 @
c5ad0119
...
...
@@ -664,7 +664,7 @@ namespace :gitlab do
warn_user_is_not_gitlab
start_checking
"LDAP"
if
ldap_config
.
enabled
if
Gitlab
::
LDAP
::
Config
.
enabled?
print_users
(
args
.
limit
)
else
puts
'LDAP is disabled in config/gitlab.yml'
...
...
@@ -675,39 +675,19 @@ namespace :gitlab do
def
print_users
(
limit
)
puts
"LDAP users with access to your GitLab server (only showing the first
#{
limit
}
results)"
ldap
.
search
(
attributes:
attributes
,
filter:
filter
,
size:
limit
,
return_result:
false
)
do
|
entry
|
puts
"DN:
#{
entry
.
dn
}
\t
#{
ldap_config
.
uid
}
:
#{
entry
[
ldap_config
.
uid
]
}
"
end
end
def
attributes
[
ldap_config
.
uid
]
end
def
filter
uid_filter
=
Net
::
LDAP
::
Filter
.
present?
(
ldap_config
.
uid
)
if
user_filter
Net
::
LDAP
::
Filter
.
join
(
uid_filter
,
user_filter
)
else
uid_filter
end
end
servers
=
Gitlab
.
config
.
ldap
.
servers
.
keys
def
user_filter
if
ldap_config
[
'user_filter'
]
&&
ldap_config
.
user_filter
.
present?
Net
::
LDAP
::
Filter
.
construct
(
ldap_config
.
user_filter
)
else
nil
servers
.
each
do
|
server
|
puts
"Server:
#{
server
}
"
Gitlab
::
LDAP
::
Adapter
.
open
(
"ldap
#{
server
}
"
)
do
|
adapter
|
users
=
adapter
.
users
(
adapter
.
config
.
uid
,
'*'
,
100
)
users
.
each
do
|
user
|
puts
"
\t
DN:
#{
user
.
dn
}
\t
#{
adapter
.
config
.
uid
}
:
#{
user
.
uid
}
"
end
end
end
end
def
ldap
@ldap
||=
OmniAuth
::
LDAP
::
Adaptor
.
new
(
ldap_config
).
connection
end
def
ldap_config
@ldap_config
||=
Gitlab
.
config
.
ldap
end
end
# Helper methods
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录