- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我搜索了高低(例如 rubygems.org),但找不到任何最新的 AD gem 。我需要 ObjectGUID,因为它是我正在使用的系统中的唯一标识符。这是我目前正在运行的代码:
require 'rubygems'
require 'net/ldap'
def get_sid_string(data)
sid = []
sid << data[0].to_s
rid = ""
(6).downto(1) do |i|
rid += byte2hex(data[i,1][0])
end
sid << rid.to_i.to_s
sid += data.unpack("bbbbbbbbV*")[8..-1]
"S-" + sid.join('-')
end
def byte2hex(b)
ret = '%x' % (b.to_i & 0xff)
ret = '0' + ret if ret.length < 2
ret
end
ldap = Net::LDAP.new :host => "192.168.55.55",
:port => 389,
:auth => {
:method => :simple,
:username => "adam@foo.local",
:password => "secret"
}
filter = Net::LDAP::Filter.eq( "cn", "Adam*" )
treebase = "dc=foo,dc=local"
ldap.search( :base => treebase, :filter => filter ) do |entry|
puts "DN: #{entry.dn}"
entry.each do |attribute, values|
next if attribute.to_s != "objectguid"
puts " #{attribute}:"
values.each do |value|
puts " --->#{value.bytes}"
puts " --->#{value}"
end
puts " --->#{get_sid_string(attribute.to_s)}"
end
end
结果如下:
DN: CN=Adam West,CN=Users,DC=foo,DC=local
objectguid:
--->[123, 94, 255, 162, 248, 97, 61, 65, 148, 210, 111, 76, 49, 58, 241, 208]
--->{^���a=A��oL1:��
--->S-o-0
第一行当然是bytes。第二个只是转储出来的数组。第三个是我发现的一些似乎没有完成的代码。在我开始编写自己的 AD gem(或分支另一个 gem)之前,我想知道是否有人知道当前正在维护的任何东西?我已经经历了其中的几个,但它们似乎都没有完全干净地处理 ObjectGUID 或不能可靠地工作(我正在看你的 active_directory)。那么为什么 ObjectGUID 如此重要呢?因为如果合并发生的地方不会改变。我可以使用 sAMAccountName,但我不能 100% 确定它在大型合并中永远不会改变。
我的目标(如果重要或上下文会有所帮助):- 知道它永远不会改变的唯一标识符。- 使用所述唯一标识符进行搜索的能力。- 存储在数据库中的唯一标识符,用于 future 未存储在 AD 中的相关数据配对(例如培训报告)。
有人用 Ruby 完成过这个吗?或者也许知道 gem ?理想情况下,我想要一个 gem 来为我处理这一切,但我不知道去哪里问。
也许我做得比我应该做的更复杂,只是将转换后的字节存储为整数,就像我数据库中的数组一样?
最佳答案
似乎没有包含 Everything(TM) 的最新库,但由于 ObjectGuid 使用 UUIDv4,因此有工具可以专门处理它。
UUIDTools::UUID.parse_raw(value)
以易于存储和阅读的格式返回我寻找的正确信息。该 gem 称为“uuidtools”。
事实证明,我可以将它们存储为 blob:Using UUIDs in SQLite
并使用从我的广告框中提供给我的相同 blob 进行搜索。我可以使用 UUIDTools 使其易于阅读(无论出于何种原因,如果我愿意——但我开始质疑现在除了可能将其用作主键之外还有什么意义)。
我可以使用“objectGUID”(之前以原始格式提供给我)本身进行搜索,而不用担心它看起来如何。
关于ruby - 支持 ObjectGUID 的 Ruby Active Directory gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34903552/
我正在恢复已删除的广告对象。在恢复它时,我想为对象提供相同的 guid。如果对象在墓碑中,那么我可以在创建它时获得相同的 guid。但是,如果删除的对象在墓碑中不可用,那么我必须创建一个具有相同属性的
我想在 GoLang 中编写一个使用 objectGuid 搜索 ldap 用户的函数。 我使用 ldap 作为“gopkg.in/ldap.v2”来连接 ldap 主机。 l,_ :=ldap.Di
我正在尝试使用“objectGUID”查询我的 ldapTemplate - String myGuid = "\\00\\B2\\15\\6C\\7D\\1B\\4B\\C8\\BF\\87\\C5
如何将 python-ldap 返回的二进制 ldap 属性转换为漂亮的十六进制表示,然后再转换回来以用于 ldap 过滤器? 最佳答案 对于与十六进制字符串相互转换的任务,您应该考虑 builtin
我有一个 Nodejs 应用程序,但我似乎无法获取实体的唯一 ID这是我正在使用的模块: https://www.npmjs.com/package/activedirectory 拉取组,我似乎无法
有人可以解释如何获取与 dsquery 返回的相同的 ObjectGUID(除了使用 powershell 之外)吗? 举个例子。 Powershell Get-ADGroup "MyGroup" -
我正在使用 java ldap 访问事件目录,更具体地说是 spring ldap。当过滤器按照 rfc2254 中指定的方式进行编码时,按 objectGUID 进行组搜索不会产生任何结果。 这是十
有人可以解释如何获取与 dsquery 返回的相同的 ObjectGUID(除了使用 powershell 之外)吗? 举个例子。 Powershell Get-ADGroup "MyGroup" -
我正在尝试获取、存储并依次使用 objectGUID 来查询 Activity 目录。要获取用户属性,我正在使用以下内容 public static class MyDnKeyValueAttMapp
'memberof' 是 Active Directory 用户帐户的属性,用于描述用户的组成员详细信息。如果我们使用 .Net 或 Java 来获取用户详细信息,那么我们将根据用户所属组的“专有名称
我很快需要找到 Active Directory 用户的 objectGUID 以将它传递到我编写的 .NET 应用程序中。服务器是 Windows 2003。 Active Directory 管理
我不明白为什么这在 PowerShell v4 中不起作用: New-Object -TypeName System.Guid((New-Object -TypeName DirectoryServi
我搜索了高低(例如 rubygems.org),但找不到任何最新的 AD gem 。我需要 ObjectGUID,因为它是我正在使用的系统中的唯一标识符。这是我目前正在运行的代码: require
在我的 ASP.NET 应用程序中,我从 Active Directory 获取信息。我必须使用 GUID 信息获取有关用户的信息(例如:a28a6a34dsfdsf57d9e54f945a241),
我正在尝试解决一个 PowerShell 问题,事实证明该问题比我最初想象的要复杂。当尝试将每个域用户的 objectGUID 复制到相同用户 ms-ds-consistencyguid 时,值不匹配
我有一个返回 objectGUID 的 CFLDAP 查询。如何在 ColdFusion 中将其转换为 8-4-4-4-12 模式的有效 UUID 字符串? 我已经指定了 returnAsBinary
我有一个返回 objectGUID 的 CFLDAP 查询。如何在 ColdFusion 中将其转换为 8-4-4-4-12 模式的有效 UUID 字符串? 我已经指定了 returnAsBinary
我有一个类似的问题:On premise Active Directory ObjectId is different than Azure Active Directory ObjectId 我们在
我是一名优秀的程序员,十分优秀!