ascendlin 2014-05-07 15:27 采纳率: 0%
浏览 626
已采纳

springsecurity 权限命名ROLE_问题

今天弄了下springsecurity,版本是3.2的,设计了7表,也就是通常的用户、角色、权限、资源,和网上那一大堆配置差不多,唯独权限表我是用AUTH_来命名的,xxxSecurityMetadataSource如下:
[code="java"]
List authList = this.authoritiesMapper.findAll();
if (authList != null && !authList.isEmpty()) {
Map map = new HashMap();
for (Authorities auth : authList) {
ConfigAttribute configAttribute = new SecurityConfig(auth.getAuthority_code());//这里是AUTH_,不是ROLE_

[/code]
在userdetailService里面也是用的AUTH_ 将权限放到了userDetails里面。

现有如下权限与资源关系
user1--ROLE1---AUTH_1------------------>资源1
user1--ROLE1---AUTH_1------------------>资源2

user2--ROLE1---AUTH_2------------------>资源1
用user2去访问资源2居然会抛出 没有权限的AccessDeniedException。不是说权限都要用ROLE_开头么,这是怎么回事,
下面是我的spring_security.xml配置
[code="xml"]

    <access-denied-handler error-page="/403"/>


    <intercept-url pattern="/**" access="isAuthenticated()" />

    <form-login login-page="/login" default-target-url="/welcome"
        authentication-failure-url="/loginfailed" always-use-default-target="true"/>


    <session-management>
        <concurrency-control max-sessions="1" expired-url="/login"/>
    </session-management>   


    <logout logout-success-url="/logout" invalidate-session="true" logout-url="/j_spring_security_logout"/>


    <custom-filter ref="mySecurityFilter" before="FILTER_SECURITY_INTERCEPTOR"/>
</http>

[/code]

  • 写回答

2条回答 默认 最新

  • dohkoos 2014-05-08 14:07
    关注

    [quote]现有如下权限与资源关系
    user1--ROLE1---AUTH_1------------------>资源1
    user1--ROLE1---AUTH_1------------------>资源2

    user2--ROLE1---AUTH_2------------------>资源1 [/quote]

    根据这个user2不只能访问资源1么!不抛出AccessDeniedException你还想咋地。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器