SpringSecurity3.1 后台成功后却定向到authentication-failure-url配置的页面

凯博斯李 发布于 2014/10/07 14:04
阅读 2K+
收藏 0

springContext-security配置成功后,启动服务,未登陆用户访问需要权限的页面被拦截强行转发到登陆页面,用户输入正确的用户信息,在UserDetailServiceImpl成功返回用户信息(权限)后,却被定为到authentication-failure-url配置的jsp页面中,不知为何,请牛哥们指点一二...

小弟的部分security配置:

 

 

加载中
0
凯博斯李
凯博斯李

竟然没有回复?

好吧,小弟弱弱的解决了,原因是用户角色中没有我配置的hasRole角色。这样子的话我们的role角色该如何动态的进行配置呢?下面是小弟的解决方案:

在用户实体类中实org.springframework.security.core.userdetails.UserDetails接口并重写getAuthorities方法,在该方法中创建一个set集合并使用泛型GrantedAuthority为类型,用以存储用户角色GrantedAuthority,遍历用户角色名称,将角色名称添加进该集合并返回;这样子呢,用户对象就拥有了grantedAuthorty角色集合,在security配置文件中配置最低的访问角色hasRole(ROLE_USER),就可以访问了。

注:我的用户角色名称分为中英文两种,遍历该角色集合时,将角色添加进集合的是英文名称,该英文名称与配置文件中的hasRole('ROLE_USER')相对应,此处的ROLE_USER就是我某角色的英文名称;

返回顶部
顶部