作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我成功地让我的 Rails 3 应用程序使用 devise 和 devise_ldap_authenticable 运行,以针对本地 Active Directory 进行身份验证。
现在我想添加授权功能,以便只允许属于某些 AD 组的 AD 用户访问。
因此,首先,我首先使用 linux 命令 ldapsearch 在 AD 中查找我自己的用户。结果包含类似...
(...)
memberOf: CN=my,OU=foo,DC=bar,DC=role,DC=domain,DC=com
memberOf: CN=my,OU=foo,DC=bar2,DC=role,DC=domain,DC=com
memberOf: (...)
(...)
CN=my,OU=foo,DC=bar,DC=role,DC=domain,DC=com.
成员的访问
authorizations: &AUTHORIZATIONS
group_base: ou=role,dc=domain,dc=com
required_groups:
- CN=my,OU=foo,DC=bar,DC=role,DC=domain,DC=com
development:
(...)
<<: *AUTHORIZATIONS
Devise.setup do |config|
config.ldap_logger = true
config.ldap_create_user = true
config.ldap_update_password = false
config.ldap_check_group_membership = true # <-- activated this line
config.ldap_use_admin_to_bind = true
#config.ldap_ad_group_check = true <-- don't know what this is good for
User CN=myuser,OU=org,DC=domain,DC=com is not in group: CN=my,OU=foo,DC=bar,DC=role,DC=domain,DC=com
最佳答案
注:代表 OP 添加答案 (@kwirschau)
devise.rb
激活属性 ldap_check_attributes
并删除/注释掉 ldap_check_group
因为它不检查 AD 特定属性 memberOf
ldap.yml
并注释掉 group_base
和 required_groups
.将所需的组成员身份添加到 require_attribute
. # devise.rb
Devise.setup do |config|
# [ ... ]
config.ldap_check_attributes = true
# [ ... ]
end
# ldap.yml
# [ ... ]
authorizations: &AUTHORIZATIONS
#group_base: ou=role,dc=domain,dc=com
#required_groups:
# - CN=my,OU=foo,DC=bar,DC=role,DC=domain,DC=com
require_attribute:
memberOf: CN=my,OU=foo,DC=bar,DC=role,DC=domain,DC=com
# [ ... ]
关于ruby-on-rails-3 - Rails 3 & devise_ldap_authenticable : Authorization against Active Directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9229308/
我成功地让我的 Rails 3 应用程序使用 devise 和 devise_ldap_authenticable 运行,以针对本地 Active Directory 进行身份验证。 现在我想添加授权
我是一名优秀的程序员,十分优秀!