spring security配置详解

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:sec="http://www.springframework.org/schema/security" 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.5.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd"
    default-lazy-init="true">
    <!-- 
        auto-config = true 则使用from-login. 如果不使用该属性 则默认为http-basic(没有session). 
        lowercase-comparisons:表示URL比较前先转为小写。
        path-type:表示使用Apache Ant的匹配模式。
        access-denied-page:访问拒绝时转向的页面。
        access-decision-manager-ref:指定了自定义的访问策略管理器。当系统角色名的前缀不是默认的ROLE_时,需要自定义访问策略管理器。
     -->
    <sec:http auto-config="true" servlet-api-provision="false" lowercase-comparisons="false"
        access-denied-page="/html/error_page_access_denied.html" path-type="ant"
        access-decision-manager-ref="accessDecisionManager">
        <!-- 
            login-page:指定登录页面。
            login-processing-url:指定了客户在登录页面中按下 Sign In 按钮时要访问的 URL。与登录页面form的action一致。其默认值为:/j_spring_security_check。
            authentication-failure-url:指定了身份验证失败时跳转到的页面。
            default-target-url:指定了成功进行身份验证和授权后默认呈现给用户的页面。
            always-use-default-target:指定了是否在身份验证通过后总是跳转到default-target-url属性指定的URL。
         -->
        <sec:form-login login-page="/admin/page!login.action" login-processing-url="/admin/login" 
            default-target-url="/admin/page!main.action" authentication-failure-url="/admin/page!login.action" 
            always-use-default-target="true"  />
            
        <!-- "记住我"功能,采用持久化策略(将用户的登录信息存放在数据库表中) -->
        <sec:remember-me key="e37f8888-0ooo-22dd-bd0b-9900211c9a66" />
        <!-- 
            logout-url:指定了用于响应退出系统请求的URL。其默认值为:/j_spring_security_logout。
            logout-success-url:退出系统后转向的URL。
            invalidate-session:指定在退出系统时是否要销毁Session。
         -->
        <sec:logout invalidate-session="true" logout-success-url="/admin/page!login.action" 
            logout-url="/admin/logout" />
        <!-- 
            max-sessions:允许用户帐号登录的次数。范例限制用户只能登录一次。
            exception-if-maximum-exceeded: 默认为false,此值表示:用户第二次登录时,前一次的登录信息都被清空。
            当exception-if-maximum-exceeded="true"时系统会拒绝第二次登录。
         -->
        <sec:concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="false" />
        
        <!-- 后台登录 -->
        <!-- intercept-url:拦截器,可以设定哪些路径需要哪些权限来访问. filters=none 不使用过滤,也可以理解为忽略 --> 
        <sec:intercept-url pattern="/admin/page!login.action" filters="none" />
        <!-- 商品管理 -->
        <sec:intercept-url pattern="/admin/goods!**" access="ROLE_GOODS" />
        <!-- 基础管理权限 -->
        <sec:intercept-url pattern="/admin/**" access="ROLE_BASE" />
        <!-- 
                   下面是对Struts2的Action请求时的配置。注意在前面加/,否则不会被拦截验证。
                          表示具有访问/unitsManager资源的用户必须具有ROLE_PLATFORMADMIN的权限。
                          当用户登录时,将用户的所有权限从数据库中提取出来,形成列表。 当用户访问该资源时,
                          将登录用户的权限列表提出来跟下面配置的权限进行比对,若有,则允许访问,若没有,
                          则给出AccessDeniedException。     
         -->
        <sec:intercept-url pattern="/unitsManager" access="ROLE_PLATFORMADMIN" />
        <sec:intercept-url pattern="/usersManager" access="ROLE_PLATFORMADMIN" />
        <sec:intercept-url pattern="/horizontalQuery" access="ROLE_PLATFORMADMIN" />
        <sec:intercept-url pattern="/verticalQuery" access="ROLE_PLATFORMADMIN" /> 
    </sec:http>

<sec:authentication-provider user-service-ref="adminDetailsServiceImpl">
        <sec:password-encoder hash="md5" />
    </sec:authentication-provider>

</beans>

时间: 2024-10-20 09:22:11

spring security配置详解的相关文章

Spring的配置详解

Spring的配置详解 3.1XML配置的结构 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www

转载:Spring MVC配置详解

以下内容引自:http://www.cnblogs.com/superjt/p/3309255.html spring MVC配置详解 现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hiber

Spring Security 入门详解

序:本文主要参考 spring实战 对里面的知识做一个梳理 1.Spring Security介绍 Spring Security是基于spring的应用程序提供声明式安全保护的安全性框架,它提供了完整的安全性解决方案,能够在web请求级别和方法调用级别处理身份证验证和授权.它充分使用了依赖注入和面向切面的技术. Spring security主要是从两个方面解决安全性问题: web请求级别:使用servlet过滤器保护web请求并限制URL级别的访问 方法调用级别:使用Spring AOP保护

spring MVC配置详解[转]

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.comm

spring MVC配置详解(转)

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.comm

spring MVC配置详解

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.comm

Spring mvc 配置详解

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.comm

Spring MVC配置详解(1)

web.xml的配置 <!-- 配置前端控制器 前端控制器(DispatcherServlet)--> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- Contextconfig

spring事务配置详解

spring的事务配置一直感觉都比较的模糊,没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSource.TransactionManager这两部分只是会根据数据访问方式有所变化.但总的来说都是对Connection的封装,变化基本上可以忽略