使用scala和playFramework,我实现了一个简单的Login-Logout Routine。现在我想用LDAP来验证用户名和密码是否正确。
我没有设置服务器,而是想使用在此处https://docs.ldap.com/ldap-sdk/docs/in-memory-directory-server.html描述的InMemoryDirectoryServer进行测试。
但是,我找不到有关如何使用它的正确文档。
我找到了这个博客,但似乎是相当即兴的。 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")