`

(转载) spring security 权限分配问题

阅读更多
转载来自:lym6520
引用

http://lym6520.iteye.com/blog/275868


对spring security用来作用权限做个记录

lym6520在测试的项目上引进了spring security 基于名称空间配置的安全架构,遇到一个问题,请指教下!
配置代码如下:
<?xml version="1.0" encoding="UTF-8"?>  
<!--  
  - 基于名称空间配置  
  -->  
<beans:beans xmlns="http://www.springframework.org/schema/security"  
    xmlns:beans="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">  
  
    <global-method-security secured-annotations="enabled">  
    </global-method-security>  
                                              
    <http access-denied-page="/error.jsp" session-fixation-protection="newSession" auto-config="true" path-type="ant" ><!--session-fixation-protection属性可以防止session固定攻击  -->  
       <!-- 权限入口的顺序十分重要,注意必须把特殊的URL权限写在一般的URL权限之前。 -->          
        <intercept-url pattern="/acegiTest.do" access="ROLE_SUPERVISOR"/>          
        <intercept-url pattern="/index.jsp" access="IS_AUTHENTICATED_REMEMBERED" />  
        <intercept-url pattern="/role1.jsp" access="ROLE_USER_1"/>  
        <intercept-url pattern="/role2.jsp" access="ROLE_USER_2"/>  
        <intercept-url pattern="/role3.jsp" access="ROLE_USER_3"/>  
        <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />  
        <!--  
        x509认证  
        <x509 />   
        -->  
  
        <!-- All of this is unnecessary if auto-config="true"  
        <form-login />  
        <anonymous />  
        <http-basic />  
        <logout />  
        <remember-me /> -->  
        <form-login login-page="/login.jsp" default-target-url="/index.jsp" authentication-failure-url="/login.jsp?login_error=1" />  
        <anonymous key="cookie_key" username="ananoymous" granted-authority="IS_AUTHENTICATED_ANONYMOUSLY"/>          
        <logout invalidate-session="true" />  
        <!-- session并发控制  
        <concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>  
        -->                
        <concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="false" /><!-- exception-if-maximum-exceeded="true" 第二次登入失效 -->  
    </http>     
    
    <authentication-provider >   
             <password-encoder hash="md5"/><!-- 密码md5加密 -->      
        <jdbc-user-service data-source-ref="f3CenterDS"   
                users-by-username-query="select name as 'username',password,'true' from users where name = ?"  
                authorities-by-username-query="select name as 'username',authorities as 'authority' from authentication where name =?"   
                 />       
      
    </authentication-provider>  
      
</beans:beans>  



在代码中

authorities-by-username-query="select name as 'username',authorities as 'authority' from authentication where name =?"   


,如果数据库里分配多个权限给用户的话,用户登入系统就不能正常使用(不能访问),倘若只分配一个权限则可以正常访问,还请指教一二!!!

网友回答

如果lym6520把<jdbc-user-service/>放在缓存中,则不会出现这样的问题了!
如下
<user-service>  
            <user name="user" password="123" authorities="ROLE_SUPERVISOR, ROLE_USER_1"/>  
        </user-service> 
分享到:
评论

相关推荐

    springboot springsecurity动态权限控制

    在这个“springboot springsecurity动态权限控制”的主题中,我们将深入探讨如何在Spring Boot项目中集成Spring Security,实现动态权限控制,让菜单权限的管理更加灵活和高效。 首先,我们需要理解Spring Security...

    SpringSecurity权限管理

    5. **Role-Based Access Control (RBAC)**:RBAC是一种常用的权限模型,SpringSecurity支持RBAC,允许将权限与角色关联,然后将角色分配给用户。 6. **Expression-Based Access Control (ELBAC)**:除了基于角色的...

    Spring Security in Action

    Spring Security 实践指南 Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户...

    Spring Security 权限控制中文API

    这个“Spring Security 权限控制中文API”很可能是对Spring Security框架的中文文档或指南,帮助开发者理解和使用权限控制功能。 Spring Security的核心在于保护资源、进行身份验证(Authentication)和授权...

    spring security权限管理

    Spring Security是Java领域中一个强大的安全框架,用于处理应用程序的安全性问题,如用户认证和授权。在"spring security权限管理"这个主题中,我们将深入探讨如何利用Spring Security来实现复杂而灵活的权限控制。 ...

    SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    SpringBoot+SpringSecurity处理Ajax登录请求问题 SpringBoot+SpringSecurity处理Ajax登录请求问题是SpringBoot开发中的一個常见问题,本文将详细介绍如何使用SpringBoot+SpringSecurity处理Ajax登录请求问题。 ...

    Spring Security 资料合集

    Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的安全服务。这个框架能够处理认证、授权以及各种安全相关的功能,帮助开发者构建安全、可扩展的应用。以下...

    SpringSecurity.pdf

    在用户、角色、权限、菜单之间,存在复杂的多对多关系,因此Spring Security需要相应的数据模型来支持这些关系,这通常涉及用户表、角色表、权限表、菜单表、以及它们之间的关联表。 Spring Security架构中的角色表...

    spring security用户权限项目

    **Spring Security 用户权限项目概述** Spring Security 是一个强大的安全框架,专为 Java 应用程序设计,用于处理身份验证和授权。在这个项目中,它被用来实现用户权限管理,确保只有授权的用户才能访问特定的资源...

    spring security权限控制

    在本文中,我们将深入探讨Spring Security如何实现权限控制,并通过一个名为"springsecuritydemo4"的示例项目来理解其核心概念。 首先,Spring Security 的权限控制主要涉及以下几个关键组件: 1. **认证...

    Spring Security如何使用URL地址进行权限控制

    Spring Security如何使用URL地址进行权限控制 Spring Security是一个功能强大且广泛应用的Java安全框架,它提供了许多功能,包括身份验证、授权、加密等。其中,权限控制是Spring Security的一个重要组件,它允许...

    SpringSecurity学习总结源代码

    5. **Role-Based Access Control (RBAC)**:SpringSecurity支持基于角色的访问控制,通过将权限分配给角色,然后角色分配给用户,简化了权限管理。 6. **Expression-Based Access Control (ELBA)**:SpringSecurity...

    spring security3动态权限

    struts2 + spring3 + hibernate3 + spring security3 + mysql + tomcat sys_users;sys_roles;sys_authorities;sys_resources;sys_users_roles;sys_roles_authorities;sys_authorities_resources; PS:此项目运行不...

    spring security权限管理开发手册及实例.rar

    - **springsecurity-sample**:这个示例项目可能包含了从创建用户、角色到实现登录、权限控制的完整流程。你可以通过它学习如何配置Spring Security XML或Java配置,如何编写自定义的认证和授权逻辑,以及如何在...

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    SpringSecurity+OAuth2+JWT分布式权限控制.zip

    本项目“SpringSecurity+OAuth2+JWT分布式权限控制”旨在提供一个完整的解决方案,帮助开发者构建安全的、基于微服务的分布式应用程序。 Spring Security 是一个强大的和高度可定制的身份验证和授权框架,适用于...

    springsecurity角色和权限

    让我们深入探讨Spring Security在处理角色和权限方面的一些关键概念。 1. **角色与权限基础** 在Spring Security中,"角色"是赋予用户的标识,表示用户在系统中的职责或权限集合。例如,"管理员"、"用户"等。"权限...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...

    spring security实现动态授权

    5. **权限表达式**:使用Spring Security的`ExpressionBasedAccessDecisionManager`结合`SpEL (Spring Expression Language)`,可以在URL、方法等安全元数据上定义权限表达式。 6. **配置SecurityConfig**:在...

    Spring Security权限管理开发手册

    ### Spring Security权限管理开发手册知识点概述 #### 一、序言 - **为什么选择Spring Security:** - **安全性:** 提供了强大的安全性保障,包括认证(Authentication)、授权(Authorization)以及会话管理(Session...

Global site tag (gtag.js) - Google Analytics