首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析表中值的散列

解析表中值的散列
EN

Stack Overflow用户
提问于 2014-12-16 10:40:03
回答 1查看 182关注 0票数 0

我正在用Rails编写。这意味着我在本地ActiveDirectory上获取一些使用net的组,并希望将它们与列表进行比较并查找匹配项。我的NetLDAP搜索结果是这个散列:

代码语言:javascript
复制
[#<Net::LDAP::Entry:0x000000048cfdd0 @myhash={:dn=>["CN=Username,OU=Support,OU=mycompany ,OU=Organisation,DC=mycompany,DC=com"], :memberof=>["CN=My AWS Groupname,CN=Receiver,CN=Users,DC=mycompany,DC=com"]}>] 

现在,我想解析这个散列,并在本地“group”表中查找匹配。看起来是这样:

代码语言:javascript
复制
Name               AWS-Role
My AWS-Groupname   Some Group
AWS-Othergroup     Some Other-Group

我有个集体模特。什么是最佳做法?我以前从没做过这样的事。我能用这里的Regex吗?我是否在所有表中循环分组?铁轨是怎么做到的?

编辑以获得更多信息

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-16 10:49:27

我将在这里假设一些事情,因为我不知道从哪里得到LDAP搜索结果,但是假设您的散列如下所示:

编辑:基于其他信息:

代码语言:javascript
复制
// Example
require 'net-ldap'

entry = Net::LDAP::Entry.new
entry.dn = ["CN=Username,OU=Support,OU=mycompany ,OU=Organisation,DC=mycompany,DC=com"]
entry[:memberof] =["CN=My AWS Groupname,CN=Receiver,CN=Users,DC=mycompany,DC=com"]
name = entry.memberof.first.split(',').first.gsub('CN=', '')

假设您有一个名为Group的模型,该模型映射到这个“组”表,您可以这样做:

代码语言:javascript
复制
Group.where(name: name).any?

如果您发现任何结果,这意味着您有一个匹配的表。但这完全取决于表结构和哈希。要正确回答您的问题,我需要看看Rails中有哪些对象,以及Hash的结构是什么样子的。

编辑:根据收到的反馈更新了我的答案。使用代码是有风险的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27502680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档