我是否應該使用ldap.yml文件來確保使用ldap進行身份驗證,並將正確的組分配給它們以允許它們進入?在rails中檢查組成員資格設計ldap gem,它在yaml中嗎?
我不是一個AD贊成任何手段,這使我感到困惑......什麼是一個組和屬性。從我的理解。我們在AD有一個用戶,他們有一個samAccount的名字,我可以讓他們進入應用程序,但它並不在乎他們的團隊是什麼。它是一個專門的應用程序,並確實是那些有一個memberOf屬性:
HD Admin
HD Helper
HD Reset
Security
都應該被允許進入應用程序,我也(使用Apache目錄工作室之後)已經意識到,有很多的memberOf條目:
鮑勃例如可能有兩個條目的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設計寶石構建的設計腳手架中有沒有辦法做到這一點?因爲它確實是他們可以是任何這樣的團體,所以他們根本不必被放入應用程序。
至少也許是yaml的地方或不是試試這個地方? 更新:
我做了我上面提到的陣列嘗試它,並且config.ldap_check_group_membership = true;
,它不會讓我在不管什麼了,所以它要麼全有或全無。即使把所有的成員數組降到一個我知道我的測試用戶有,它仍然不讓我進入。
我也想問,我應該只是保持以下發展:行和處理所有的檢查在代碼中的角色(是否有任何形式的鏈接如何做到這一點),也許我猜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
雖然我仍然有一個「或」的問題,但我做了一些事情,我不知道該怎麼說,如果他們是這個組或該組或該組的成員。在設計中可能無法實現? – Codejoy
你的配置文件看起來類似於我自己的(不成功)嘗試使用'require_groups',檢查'memberOf'屬性。最後,我能夠從'require_attribute'範圍內獲得所需的內容。我發現很難看到LDAP請求是如何形成的,所以我使用Wireshark直接查看數據包並從那裏反向工作。 –