我们有一个使用Spring Security进行LDAP身份验证的自定义Grails应用程序。用户DN包含逗号(例如“CN = Smith \,John,CN = Users,DC = example,DC = com”),但是我们的管理员用户的DN不包含(例如,“CN = peadmin,CN = Users,DC =实施例,DC = COM“)。当我从本质上是Tomcat的Grails服务器运行应用程序时,一切正常。当我构建WAR并部署到WebSphere AS 7时,我只能以管理员用户身份登录。在我们的日志中的异常抱怨一个意外的逗号,它表示应用程序在WAS上运行时没有正确解析/转义DN。Websphere LDAP Spring Security解析错误
升级到Spring Security的3.0.4之后,这里是具体的异常信息,我们得到:
2011-04-07 20:58:41975 [Web容器:0]错误controller.LoginController - org.springframework。 security.authentication.AuthenticationServiceException:解析DN失败;嵌套的例外是org.springframework.ldap.core.ParseException:遇到“”第1行,列20 期待: ...