1. 安装OpenLDAP并导入一些数据。
Reference: OpenLDAP Quick Start .
2. 安装LDAP gem。
有三个可选方案
ruby-net-ldap:纯ruby实现
ruby-ldap:基于cruby。
jruby-ldap:基于jruby。
active-ldap:不详。
ruby-net-ldap貌似已经停止开发很久了。ruby-ldap和jruby-ldap的interface是一样的,如果要在c-ruby和jruby上互相迁移,不需要改动代码。
3. 代码其实相当简单
require 'ldap'
class LdapUser
def self.authenticate(username, password)
ldap = LDAP::SSLConn.new("your-ldap-server.domain.com", 636 )
ldap.bind("uid=#{username},ou=people,dc=domain,dc=com", password)
return ldap.bound?
rescue LDAP::ResultError
return false
ensure
ldap.unbind
end
end
4. Reference:
Using OpenLdap for User Authentication