Cod*_*joy 5 ruby ldap devise ruby-on-rails-3
我是否应该使用 ldap.yml 文件来确保使用 ldap 进行身份验证的人分配了正确的组以允许他们进入?
我无论如何都不是 AD 专业人士,这让我很困惑……什么是组和属性。据我了解。我们在 AD 中有一个用户,他们有一个 samAccount 名称,我可以让他们进入应用程序,但此时它并不关心他们的组是什么。它是一个专门的应用程序,实际上是那些具有以下成员属性的应用程序:
HD Admin
HD Helper
HD Reset
Security
Run Code Online (Sandbox Code Playgroud)
应该都被允许进入应用程序,我也(在使用 apache directory studio 之后)意识到有很多 memberOf 条目:
例如,Bob 可能有两个 memberOf 条目:
memberOf CN=Security,OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=tdsu,DC=edu
memberOf CN=HD Admin, OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=tdsu,DC=edu
Run Code Online (Sandbox Code Playgroud)
那么我的 yaml 看起来如何,这是做这些事情的正确位置吗?
authorizations: &AUTHORIZATIONS
group_base: OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=nmsu,DC=edu
## Requires config.ldap_check_group_membership in devise.rb be true
# Can have multiple values, must match all to be authorized
required_groups:
# If only a group name is given, membership will be checked against "uniqueMember"
- CN=HD Admin
- CN=HD Reset
- CN=Security
# If an array is given, the first element will be the attribute to check against, the second the group name
- ["memberOf", " CN=HD Admin,OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=tdsu,DC=edu"]
- ["memberOf", " CN=HD Helper,OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=tdsu,DC=edu"]
- ["memberOf", " CN=HD Reset,OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=tdsu,DC=edu"]
- ["memberOf", " CN=Security,OU=Groups,OU=Accounts,DC=ACN,DC=ad,DC=tdsu,DC=edu"]
require_attribute:
memberOf: HD Admin
Run Code Online (Sandbox Code Playgroud)
我无法获得所需的属性,所以我偏离了基地吗?在从 ldap devise gem 构建的设计脚手架中,有什么方法可以做到这一点吗?因为他们真的可以是这些组中的任何一个,所以他们不必全部加入应用程序。
至少也许 yaml 是尝试这个的地方还是不是?更新:
我确实用我上面提到的数组尝试过它,config.ldap_check_group_membership = true; 无论现在怎样它都不让我进入,所以它要么全部要么全无。甚至将所有 memberOf 数组缩减为一个我知道我的测试用户拥有的数组,但它仍然不让我进入。
我还想问一下,我是否应该保持以下开发:行并处理代码中的所有角色检查(并且是否有任何关于如何执行此操作的链接),也许我猜是一个 api 文档(可能在 github 上)某处),尽管手动编码所有检查等可能更容易......意味着我也必须更加熟悉设计。
我应该添加我的 ldap.yml 的其余部分,这很重要:
development:
host: directory.ldapstuff.com
port: 636
attribute: sAMAccountName
base: OU=Main Users, OU=Accounts, DC=ACN, DC=ad, DC=tdsu, DC=edu
admin_user: CN=EASApps, OU=LDAP, OU=Service Accounts, DC=ACN, DC=ad, DC=tdsu, DC=edu
admin_password: asfssfaf
ssl: true
# <<: *AUTHORIZATIONS
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |