Spring Security用户已登录,但已重定向到访问被拒绝的页面

时间:2016-06-22 06:54:46

标签: java hibernate spring-security

我目前正在开发Spring 4,Spring Security 4,Hibernate 4,MySQL 5的项目。当我使用用户凭据登录时,它会登录但是会将我带到未经身份验证的用户页面。我尝试在eclipse中调试代码,但我无法找到它为什么进入未经身份验证的用户页面。我们正在为项目使用4种不同类型的用户,因此给我的数据库设计有点不同。

我在4天前也在coderanch中问了同样的问题,但我没有得到任何答案。以下是问题Coderanch的链接。我在那里添加了源文件以供参考。

如果你们需要更多文件,请问我,我会在这里提供给你。

3 个答案:

答案 0 :(得分:0)

本教程将帮助您了解其工作原理,并修复您的prblm: Spring MVC 4 + Spring Security 4 + Hibernate Example

答案 1 :(得分:0)

对于寻找这个问题答案的人来说,这就是诀窍。你将不得不添加" ROLE _"如果要从数据库中获取角色,请在SimpleGrantedAuthority对象中。那是

authorities.add(new SimpleGrantedAuthority("ROLE_" + user.getType());

解释为什么我们应该添加" ROLE _"令牌在此doc中给出。

  

来自文档,
    前缀" ROLE _"是一个标记,表示应该与用户的权限进行简单的比较。换句话说,应该使用正常的基于角色的检查。 Spring Security中的访问控制不仅限于使用简单角色(因此使用前缀来区分不同类型的安全属性)。

答案 2 :(得分:0)

除了Parthe的答案之外,您可能还需要确保您用于登录的用户帐户至少具有一个列出的角色(" SUPER ADMIN"," ADMIN&# 34;,"工作人员"。)