问题: Ldap用户授权失败 - 未处理的Spring身份验证“访问被拒绝”
我们有REST服务,我们将使用ldap进行身份验证。
没有ldap安全性的REST服务可以正常工作
REST服务正在PAS实例(Progress Technology)上运行
当我按下登录按钮然后我收到错误消息时,我们使用表单并填写我们的凭据。当我读取日志文件时,我可以看到: 登录到LDAP服务器很好但是当它尝试验证用户时我是个例外。
我们使用tomcat版本8.5.23
编辑16/01/2018 09:24 :
我用最新信息更新了整个问题 如果我将此grouprole属性设置为cn:
ldap.grouprole.attribute = CN
我在日志记录中看到我们得到了更多,但现在我们得到了另一个错误。
错误消息:
访问被拒绝 - 403状态代码
以前没有设置ldap grouprole属性的错误消息(对于其他读者):
java.lang.IllegalArgumentException:名称不能为空=>初始错误消息
记录消息:
oepas1.DATE.log显示以下内容:
09:04:40.550 / 20215 [catalina-exec-5] DEBUG o.s.l.c.s.AbstractContextSource - 在服务器'我的内部ip'上获得Ldap上下文
09:04:40.553 / 20218 [catalina-exec-5] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - 搜索角色:[Makelaars]
09:04:40.560 / 20225 [catalina-exec-5]警告cpassOEAuthenticationLogger - 未处理的Spring认证事件:org.springframework.security.web.authentication.session.SessionFixationProtectionEvent [source = org.springframework .security.authentication.UsernamePasswordAuthenticationToken @ 5d0c4105:校长:org.springframework.security.ldap.userdetails.InetOrgPerson@aa53233b:Dn:cn =测试C& C,ou =用户,ou =域BPB,dc = bpb,dc = be ;用户名:tc;密码保护];启用:true; AccountNonExpired:true; CredentialsNonExpired:true; AccountNonLocked:true;授权机构:ROLE_MAKELAARS;证书:[保护];认证:真实;详细信息:org.springframework.security.web.authentication.WebAuthenticationDetails@fffc7f0c:RemoteIpAddress:0:0:0:0:0:0:0:1; SessionId:991C2EE38AA27E364FFB812CD6BFC9ABDD85795BF2F8.oepas1;授权机构:ROLE_MAKELAARS]
我的配置:(WEB-INF文件夹中的oeablSecurity.properties)
http.all.authmanager = ldap
client.login.model =表单
ldap.url =“internal ldap url”
ldap.manager-dn = cn =广告阅读器,ou =特殊用户,ou =域名 BPB,dc = bpb,dc =是
ldap.manager-password = topsecret
ldap.root.dn =
ldap.grouprole.attribute = tc
ldap.groupsearch.filter =(member = {0})
ldap.groupsearch.base = CN = Makelaars,OU =组,OU =域 BPB,dc = bpb,dc =是
ldap.usersearch.base = ou =用户,ou =域名BPB,dc = bpb,dc =是
ldap.usersearch.filter =(sAMAccountName赋= {0})
预期解决方案:
我希望在按下登录按钮后用户被正确验证,我看到REST服务的响应JSON。 (经过ldap认证后)
答案 0 :(得分:0)
您可以查看oeablSecurity.csv文件。 你需要把正确的角色放在那里。 例如 “web / test / ”,“”,“hasAnyRole('rol1','rol2')”