在rails设计ldap gem中检查组成员资格,它是否在yaml中?

我应该使用ldap.yml文件来确保使用ldap进行身份validation是否已为其分配了正确的组以允许它们进入?

无论如何我不是AD专业人士,这让我感到困惑……是一个群体和属性。 据我所知。 我们在AD中有一个用户,他们有一个samAccount名称,我可以让它进入应用程序,但它不关心他们的团队是什么。 它是一个专门的应用程序,实际上有一个memberOf属性:

HD Admin HD Helper HD Reset Security 

应该都被允许进入应用程序,我也(使用apache目录工作室后)已经意识到有许多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 

那么我的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 

我无法获得所需的属性,所以我不在基地吗? 有没有办法在从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 

我想你只需要取消注释# <<: *AUTHORIZATIONS合并。