gpt4 book ai didi

ruby - 在 rails devise ldap gem 中检查组成员身份,它在 yaml 中吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:42 24 4
gpt4 key购买 nike

我是否应该使用 ldap.yml 文件来确保谁使用 ldap 进行身份验证已分配给他们正确的组以允许他们进入?

无论如何我都不是 AD 专业人士,这让我感到困惑...什么是组和属性。据我了解。我们在 AD 中有一个用户,他们有一个 samAccount 名称,我可以让他们进入应用程序,但此时并不关心他们的组是什么。它是一个专门的应用程序,实际上是那些具有以下 memberOf 属性的应用程序:

HD Admin
HD Helper
HD Reset
Security

应该都允许进入应用程序,我也(在使用 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

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

关于ruby - 在 rails devise ldap gem 中检查组成员身份,它在 yaml 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17201053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com