配置Tomcat 5.5或更高版本以从Windows Active Directory验证用户的最佳方式是什么?配置Tomcat以使用Windows Active Directory进行身份验证
29
A
回答
22
从www.jspwiki.org
与LDAP的设置试试这个在server.xml:
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionURL="ldap://youradsserver:389"
alternateURL="ldap://youradsserver:389"
userRoleName="member"
userBase="cn=Users,dc=yourdomain"
userPattern="cn={0},cn=Users,dc=yourdomain"
roleBase="cn=Users,dc=yourdomain"
roleName="cn"
roleSearch="(member={0})"
roleSubtree="false"
userSubtree="true"
/>
,并确定在Tomcat中的作用-users.xml和您的应用程序的web.xml
编辑webapp_root/WEB_INF/Web.xml文件如下:
<security-constraint>
<display-name>your web app display name</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.html</url-pattern>
<url-pattern>*.xml</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>yourrolname(ADS Group)</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>your role description</description>
<role-name>yourrolename(i.e ADS group)</role-name>
</security-role>
2
基于LDAP的身份验证在任何操作系统上都不需要任何附加步骤。
http://spnego.sf.net可用于对登录到Windows域的用户进行无提示验证。这需要在域中注册的域帐户对提供的服务具有权威性。它适用于Windows和Linux。
0
“欢迎SPNEGO SourceForge项目 集成Windows身份验证在Java中
这个项目的目的是提供一种替代库(.jar文件),该应用程序服务器(如Tomcat),可以作为工具使用(如Web浏览器)
如果您的组织正在运行Active Directory(AD),并且所有Web应用程序都通过Microsoft的Internet信息服务(IIS),并且IIS已启用集成Windows身份验证,并且您的每个人组织正在使用Internet Explorer(IE),那么此项目可能不是对你有任何兴趣。“
13
Blauhr的答案很好,但AD中用户的CN基于他们的“显示名称”,而不是他们的saMAccountName(用户用来登录)。基于他的解决方案,它看起来像某人将不得不使用他们的显示名称,基于userPattern登录。
我亲自使用下列内容:
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionURL="ldap://DOMAIN_CONTROLLER:389"
connectionName="[email protected]"
connectionPassword="USER_PASSWORD"
referrals="follow"
userBase="OU=USER_GROUP,DC=DOMAIN,DC=com"
userSearch="(sAMAccountName={0})"
userSubtree="true"
roleBase="OU=GROUPS_GROUP,DC=DOMAIN,DC=com"
roleName="name"
roleSubtree="true"
roleSearch="(member={0})"
/>
其他一切会非常的工作是相同的。
相关问题
- 1. 使用Active Directory进行身份验证
- 2. Tomcat,HTTP身份验证和Active Directory
- 3. 配置云服务以使用Azure Active Directory进行身份验证
- 4. 使用Tomcat进行Windows身份验证
- 5. 使用Active Directory进行身份验证和ASP.NET身份验证角色
- 6. IIS 5.1,Windows身份验证,Active Directory的
- 7. JSF Active Directory身份验证
- 8. Tomcat:使用Windows用户进行身份验证的设置
- 9. 通过Active Directory进行Windows身份验证
- 10. 是否使用Active Directory身份验证?
- 11. 使用Active Directory的Silverlight身份验证
- 12. 用户在CMS中使用Active Directory进行身份验证
- 13. 如何通过Active Directory/Windows身份验证使用Servicestack身份验证?
- 14. 使用窗体身份验证和Windows身份验证的Active Directory
- 15. Active Directory身份验证失败asp.net
- 16. 如何使用php和CodeIgniter对Active Directory进行身份验证?
- 17. 使用Azure Active Directory进行netcore2身份验证:“签名无效”
- 18. 使用Azure Active Directory进行身份验证:WIF10201错误
- 19. 使用Kerberos进行PHP Active Directory身份验证
- 20. 使用Active Directory在C#中进行身份验证
- 21. 使用Active Directory/LDAP进行表单身份验证
- 22. 在Linux上使用Java对Active Directory进行身份验证
- 23. 使用ldap.js进行Active Directory身份验证
- 24. 如何在asp.net中使用Active Directory组进行身份验证?
- 25. 使用c#进行Active Directory身份验证(编码问题)
- 26. 使用Active Directory和SunOne进行LDAP身份验证
- 27. 使用Active Directory进行Rails身份验证
- 28. 在PHP中使用LDAP进行身份验证通过Active Directory
- 29. 使用Active Directory和域策略进行表单身份验证
- 30. 使用Azure Active Directory进行离线身份验证
链接被破坏 – Antonio 2010-10-05 14:18:46
新的链接到www.jspwiki.org(谢谢安东尼奥) – Blauohr 2010-10-08 08:23:02
由于在context.xml中没有指定连接用户名或密码,所以这似乎只有在匿名查找被允许获取列表时才有效角色。 – 2014-09-30 02:05:36