5

ldap.yml ファイルを使用して、ldap での認証に適切なグループが割り当てられていることを確認する必要がありますか?

私は決してADのプロではありません。これは私を混乱させています...グループと属性は何ですか。私が理解していることから。AD にユーザーがいて、samAccount という名前を持っています。ユーザーをアプリに入れるようにできますが、この時点ではユーザーのグループが何であるかは気にしません。これは特殊なアプリであり、実際には次の memberOf 属性を持つアプリです。

HD Admin
HD Helper
HD Reset
Security

すべてをアプリに許可する必要がありますが、(apache directory studio を使用した後) 多くの memberOf エントリがあることにも気付きました。

たとえば、Bob には 2 つの 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 から構築された devise scaffolding でこれを行う方法はありますか? 実際には、これらのグループのいずれかである可能性があるため、アプリに入れるためにすべてのグループである必要はありません。

少なくとも、yaml はこれを試す場所なのか、そうでないのか? アップデート:

上記の配列で試してみましたが、config.ldap_check_group_membership = true; 何があっても入れないので、すべてかゼロかのどちらかです。すべての memberOf 配列を、テスト ユーザーが持っていることがわかっている配列に減らしても、まだ入れません。

また、次の開発を維持する必要があるかどうかも尋ねたかったのですが、コード内の役割のすべてのチェックを行および処理します(それを行う方法に関するリンクはありますか)、おそらくAPIドキュメントを推測します(おそらくgithubにありますどこか) 、すべてのチェックなどを手作業でコーディングする方が簡単かもしれませんが...つまり、deviseにももっと慣れる必要があります。

重要な残りの 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
4

2 に答える 2

3

# <<: *AUTHORIZATIONSマージのコメントを外すだけでよいと思います。

于 2013-06-28T13:12:12.970 に答える