使用scala和playFramework,我实现了一个简单的登录-注销例程。现在我想使用LDAP来验证用户名和密码是否正确。
我不想设置服务器,而是为了测试目的使用InMemoryDirectoryServer在这里取消循环,在这里使用https://docs.ldap.com/ldap-sdk/docs/in-memory-directory-server.html。
但是,我找不到关于如何使用它的适当文档。
我发现了这个博客,但它似乎是即兴创作的。http://krishnasblog.com/2013/03/29/incorporating-ldap-with-play-2-x-scala-application/
到目前为止,我已经:
def start(): InMemoryDirectoryServer = {
val config = new InMemoryDirectoryServerConfig("dc=com");
config.setListenerConfigs(new InMemoryListenerConfig("ldapListener", InetAddress.getLocalHost(), 0, null, null, null));
config.setSchema(null);
val server = new InMemoryDirectoryServer(config);
server.startListening();
server.add("dn: dc=com", "objectClass: top", "objectClass: domain", "dc: com");
server.add("dn: dc=test,dc=com", "objectClass: top", "objectClass: domain", "dc: test");
server.add("dn: dc=roles,dc=test,dc=com", "objectClass: top", "objectClass: domain", "dc: roles");
server.add("dn: cn=group,dc=roles,dc=test,dc=com", "objectClass: groupOfUniqueNames", "cn: group");
server.add("dn: cn=user1,dc=test,dc=com", "objectClass: person", "locale: nl_BE",
"sn: NormalUser", "memberOf: cn=group,dc=roles,dc=test,dc=com", "userPassword: password");
server.add("dn: cn=user2,dc=test,dc=com", "objectClass: person", "locale: nl_BE",
"sn: NormalUser", "memberOf: cn=group,dc=roles,dc=test,dc=com", "userPassword: password");
server
}
我的问题是:基于这个初始配置,我将如何验证用户名和密码,这样就像使用真正的LDAP服务器一样。
它真的只是得到条目和测试字符串对着对方吗?
val retPass = entry.getAttributeValue("userPassword")
发布于 2015-12-17 22:21:00
我正在实现一个LDAP身份验证模块,并且我正在使用一个公共LDAP服务器,它在测试方面一直运行得很好。
尝试使用此LDAP的条目进行测试。
https://stackoverflow.com/questions/34345164
复制相似问题