有没有办法确定和确认事实,哪种更好,更容易与Ruby集成。 LDAP或ActiveDirectory?
答案 0 :(得分:4)
我使用net-ldap gem来验证和查询工作中的ActiveDirectory服务器。它运作良好。以下是验证用户登录凭据并获取其全名的示例代码。
def name_for_login( email, password )
email = email[/\A\w+/].downcase # Throw out the domain, if it was there
email << "@mycompany.com" # I only check people in my company
ldap = Net::LDAP.new(
host: 'ldap.mycompany.com', # Thankfully this is a standard name
auth: { method: :simple, email: email, password:password }
)
if ldap.bind
# Yay, the login credentials were valid!
# Get the user's full name and return it
ldap.search(
base: "OU=Users,OU=Accounts,DC=mycompany,DC=com",
filter: Net::LDAP::Filter.eq( "mail", email ),
attributes: %w[ displayName ],
return_result:true
).first.displayName.first
end
end
答案 1 :(得分:3)
ActiveDirectory是LDAP的一个实现。您可以使用RubyLDAP gem与AD集成。我目前正在使用此gem从RHEL服务器连接到Windows域控制器。
gem install ruby-ldap
答案 2 :(得分:1)
Ruby的LDAP绑定相当不错 - 不完全漂亮,但它们运行良好。当然,您可以将ActiveDirectory 作为 LDAP服务器访问。我从未尝试过任何针对Ruby的ActiveDirectory绑定。