LDAP를 통해 Rails 앱에 로그인하기 위해 devise_ldap_authenticatable 을 사용하고 있습니다. 사용자 (사용자 이름 사용)에 대해서는 로그인이 작동하지만 그룹에는 작동하지 않습니다. 사용자가 특정 그룹에 있는지 확인하려고하면 다음과 같은 메시지가 표시됩니다.
Devise :: SessionsController # create의 'Net :: LDAP :: BindingInformationInvalidError
잘못된 바인딩 정보
추출 된 소스 (# 244 줄 주변) : Net :: LDAP :: BindingInformationInvalidError, "잘못된 바인딩 정보"를 발생시킵니다 (사용자 && psw).
몇 가지 제안 된 솔루션을 시도했지만 위에서 언급 한 오류로 모두 실패했습니다.
나는 변화 시도 config.ldap_check_group_membership=false
에 config.ldap_check_group_membership=true
에서 devise.rb
:
config.ldap_create_user = true
config.ldap_check_group_membership = true
config.ldap_check_attributes = false
config.ldap_use_admin_to_bind = false
config.ldap_ad_group_check = true (also tried false with this one)
다음과 ldap.yml
같이 파일에 그룹을 설정 합니다.
authorizations: &AUTHORIZATIONS
group_base: OU=US,DC=um,DC=com #also tried without group_base, with group_base DC=um,DC=com
required_groups:
- CN=D US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com
- CN=B US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com
나중에 그렇게 :
authorizations: &AUTHORIZATIONS
#also tried without group_base, with group_base DC=um,DC=com
group_base: OU=US,DC=um,DC=com
required_groups:
["memberOf", "CN=D US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com;CN=B US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com"]
이것이 실패한 후, 나는 또한 변경 ldap_check_attributes=false
을 시도 ldap_check_attributes=true
했습니다 devise.rb
.
config.ldap_create_user = true
config.ldap_check_group_membership = false
config.ldap_check_attributes = true
config.ldap_use_admin_to_bind = false
다음과 ldap.yml
같이 파일에 속성을 설정합니다 .
authorizations: &AUTHORIZATIONS
require_attribute:
memberOf: CN=D US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com
development:
host: <%= ENV["LDAP_HOST"] %>
port: <%= ENV["LDAP_PORT"] %>
attribute: 'userprincipalname'
base: 'DC=um,DC=com'
ssl: <%= ENV["LDAP_SSL"] %>
<<: *AUTHORIZATIONS
AD에 액세스 할 수 있습니다. 그 그룹이 맞다는 것을 알고 있습니다. 거기에서 내 계정을 보면 다음과 같은 내용이 표시됩니다.
memberOf: CN=D US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com;CN=B US
Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com
내가 무엇을 잘못하고 있지?
오늘 저는 효과가있는 하나의 솔루션을 찾았습니다. 다음 devise.rb
과 같이 파일을 변경 했습니다.
config.ldap_create_user = true
config.ldap_check_group_membership = false
config.ldap_check_attributes = true
config.ldap_use_admin_to_bind = false
그리고 ldap.yml
그렇게 :
authorizations: &AUTHORIZATIONS
#group_base:
#required_groups:
require_attribute:
memberOf: CN=D US Workers,OU=Workers,OU=abc,OU=US,DC=um,DC=com
development:
host: <%= ENV["LDAP_HOST"] %>
port: <%= ENV["LDAP_PORT"] %>
attribute: sAMAccountName
base: DC=um,DC=com
ssl: <%= ENV["LDAP_SSL"] %>
admin_user: <%= ENV["LDAP_ADMIN_USER"] %> # currently my own: CN=name surname,OU=Workers,OU=abc,OU=US,DC=um,DC=com
admin_password: <%= ENV["LDAP_ADMIN_PASSWORD"] %> currently my own password
<<: *AUTHORIZATIONS
더 나은 해결책을 찾으면 게시하겠습니다. 당신의 길도 자유롭게 제안하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다