目前,我使用LDAP通过JAAS执行身份验证(在HornetQ中配置)。 为了便于理解,我的工作流程如下:
连接连接= cf.createConnection(“guest”,“guest”);
/** * Step 2 : Get the ldap information from setting */ String baseDN = (String) options.get("baseDN"); String ldapURL = (String) options.get("ldapURL"); String role = (String) options.get("role"); String dn = "uid=" + user + "," + baseDN;
/**
* Step 3 : Initialize the context
*/
Hashtable<String, String> environment = new Hashtable<String, String>();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
environment.put(Context.PROVIDER_URL, ldapURL);
environment.put(Context.SECURITY_AUTHENTICATION, "simple");
environment.put(Context.SECURITY_PRINCIPAL, dn);
environment.put(Context.SECURITY_CREDENTIALS, password);
authenticated = (new InitialDirContext(environment) != null);
我尝试添加到Subject方法但没有效果。那你可以教我吗。
非常感谢你的帮助。