首页 > 解决方案 > 我可以使用 LDAP 仅对 Active Directory 进行授权吗?

问题描述

我必须在现有系统中添加Active Directory 授权。我已经在使用数据库远程操作系统身份验证。我现在处于开发阶段。我有各种用于 LDAP 授权和身份验证的链接。因为我只想实现授权,所以我只需要相同的用户名。此外,仅在AD 授权中为DirContext初始化HashTable需要哪些参数

env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "LDAP://" + domain); 
env.put(Context.SECURITY_AUTHENTICATION, "EXTERNAL"); 
env.put(Context.SECURITY_PROTOCOL, "ssl");
env.put("javax.security.sasl.server.authentication", "true");
env.put(Context.SECURITY_PRINCIPAL, userId + "@" + domain); 
env.put(Context.SECURITY_CREDENTIALS, securityToken);
ctx = new InitialDirContext(env);

SearchResult srLdapUser = this.findAccountByAccountName(ctx, ldapSearchBase, userId);

请建议我在 HashTable 中传递什么来仅通过 LDAP 进行授权,上面的代码具有 LDAP 身份验证所需的一些附加属性。

标签: javaactive-directoryldapldapauth

解决方案


推荐阅读