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/

Reply via email to