我的 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。先谢谢了。
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。先谢谢了。
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自己决定吧
你有实现过的个例吗?我不能改公司的 AD !