I was able to get authenticated to our Windows domain server using simple LDAP using the following:
[main] ldapRealm = org.apache.shiro.realm.ldap.DefaultLdapRealm ldapRealm.contextFactory.url = ldap://mydc.mydomain.com:389 ldapRealm.contextFactory.authenticationMechanism = simple securityManager.realms = $ldapRealm public static void main(String[] args) { Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiroldap2.ini"); SecurityManager securityManager = factory.getInstance(); AuthenticationToken AT = new UsernamePasswordToken("[email protected]", "pwd", false); AuthenticationInfo authenticationInfo = securityManager.authenticate(AT); } I would like to do the same with DIGEST-MD5. I used several types of authenticationMechanisms until the DC answered with something other than a bad protocol error, now I am failing to authenticate, so I am guessing the protocol is OK. I'm hoping the problem is just the way I am hashing the password. Here is what I have that is failing: [main] ldapRealm = org.apache.shiro.realm.ldap.DefaultLdapRealm ldapRealm.contextFactory.url = ldap://mydc.mydomain.com:389 ldapRealm.contextFactory.authenticationMechanism = DIGEST-MD5 securityManager.realms = $ldapRealm public static void main(String[] args) { Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiroldap3.ini"); SecurityManager securityManager = factory.getInstance(); String salt="7road"; String hex = new Md5Hash("pwd",salt).toHex(); AuthenticationToken AT = new UsernamePasswordToken("[email protected]", hex, false); AuthenticationInfo authenticationInfo = securityManager.authenticate(AT); -- Sent from: http://shiro-user.582556.n2.nabble.com/
