我的 Linux 下的 tomcat 应用要用户 log-in 的。userid/password 要从 Windows Servert 的 Active Directory 来验证。tomcat 的 LDAP (JNDIRealm 类) 不支持 Windows Servert 的 Active Directory。
JNDIRealm 没支持 Kerberos (对不对?)
微软的 Kerberos 还同标准的 Kerberos 不同 (见 http://msdn.microsoft.com/en-us/library/aa378747(VS.85).aspx ) 我用 微软的 Active Directory Explorer(AD Explorer)可以看 我们的 AD, 但用 LDAP Browser 等软件都看不到 AD。是不是也是 Kerberos 的事?现在好像我要编自己的 JAASRealm 类 来实现 AD 的 Realm 。我对 Kerberos 不是太懂,有请高手帮忙!
我可以用什么类?现成的开源的包?hudson 和 Likewise 等要钱的都不行...
要注意些什么?仅内网,多个 domains 用我的 tomcat。先谢谢了。

解决方案 »

  1.   

    Java的Naming功能支持AD
    http://java.sun.com/javase/6/docs/technotes/guides/jndi/index.htmlTomcat的Realm设定也支持,给你个例子
            <Realm className="org.apache.catalina.realm.JNDIRealm"
                debug="99"
                connectionName="CN=connector,OU=people,DC=domain,DC=local"
                connectionPassword="password"
                connectionURL="ldap://host.domain.local:389"
                userBase="DC=domain,DC=local"
                userSearch="(sAMAccountName={0})"
                userSubtree="true"
                userRoleName="memberOf"
                roleBase="DC=domain,DC=local"
                roleName="CN"
                roleSearch="(member={0})"
                roleSubtree="true"
                referrals="follow" />
    实现方法lz自己决定吧
      

  2.   

    谢谢回答。我用过这个 Realm 连 OPENLDAP 可以,但 AD 没通过。
    你有实现过的个例吗?我不能改公司的 AD !
      

  3.   

    采用vsj技术,具体的上网授一下
      

  4.   

    你说的是不是java实现windows集成认证,如果是,留下联系方式。告诉你怎么做,这里说不清楚。