由于我用的Tomcat6运行Java作为servlet容器我发现它适合使用Tomcat的JNDIRealm功能 ,使LDAP用户可以登录到我的网站没有任何额外的努力。 我使用的LDAP服务器是OpenLDAP的Ubuntu上 。
在此之上我使用的登录页面基于表单的认证过的https连接 。
我发现认证用户的两个非常好的例子通过LDAP, 在这里和这里 ,既实现什么,我觉得我几乎实现了。 为什么几乎实现?
当我尝试与错误的凭据,我适当地发送到登录<form-error-page>
, login-failed.html
在我的情况。
当我的凭据是好的,我验证成功,我开始得到一个403网站中的所有网址 。 除非我重新启动Tomcat我无法删除403错误(甚至没有登录页面!)。
我怀疑的原因是因为我没有roles
中设置正确的领域或其他配置文件。 为了简便起见,我把相关的配置文件摘录于引擎收录 :
- 境界在Tomcat中
server.xml
- 相关
tomcat-users.xml
的一部分 - 相关
web.xml
部分 - LDAP的基本结构 ,虚线表示树形结构
需要注意的是基于Tomcat的权威性完美的作品,因为角色很容易附着在用户tomcat-users.xml
。 因此,我相信这是越来越从LDAP身份验证的用户的角色,一旦它已经成功地被验证的问题。
TL / DR
我在Tomcat的连接到LDAP身份验证一个配置问题。 用户数据正常获取,而不是用户的角色。 根据要求提供LDAP日志消息;)
更新 :我粘贴的LDAP数据在这里 。