<?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>
相关推荐
SpringSecurity通过XML配置文件中的命名空间来简化设置过程,这些命名空间提供了丰富的元素和属性,帮助开发者快速构建安全体系。命名空间的主要目的是将复杂的配置逻辑封装起来,让开发者无需关注底层实现,只需...
### SpringBoot学习笔记 #### 一、SpringBoot入门 ##### 1、SpringBoot简介 - **简化Spring应用开发**:SpringBoot是简化Spring应用开发的一个框架,它通过默认配置极大地减少了开发过程中的样板代码,使得开发者...
`spring集成hibernate配置文件.txt`可能包含了整合步骤、事务配置以及如何处理SessionFactory和Session。 5. **Spring与Struts的整合**: Spring和Struts结合可以提供更强大的MVC架构。`spring_struts.txt`可能描述...
Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的...通过学习这些文档,开发者可以更好地理解Spring Security的工作原理,从而更有效地实现应用的安全控制。
- **XML配置**:Spring Security可以通过XML配置文件来定制安全规则,如定义访问控制列表(ACLs)和URL过滤。 - **Java配置**:自Spring Security 3.2起,可以使用Java配置类来代替XML配置,使得配置更加直观和可...
这篇教程的学习笔记将带你深入理解其核心概念和工作原理。首先,我们来概述 Spring Security 的基本架构和主要组件。 **1. ** **Spring Security 架构** Spring Security 的架构基于过滤器链,它拦截并处理应用...
本篇学习笔记将带你走进Spring Security的世界,逐步理解并掌握其基本用法。 首先,要开始使用Spring Security,我们需要在项目中添加依赖。在Maven工程中,可以通过在`pom.xml`中引入Spring Boot的`spring-boot-...
在本学习笔记中,我们将深入探讨Spring Security的核心概念和配置,以及如何设计数据库表来支持权限管理。 首先,Spring Security的配置始于Web应用的入口点——`web.xml`文件。在这里,我们需要定义一个名为`...
在 "spring-boot-learning-gitbook_column2.0" 这个文件夹中,你可能会找到关于以上知识点的代码示例、配置文件以及相关的学习笔记,帮助你深入理解并实践 Spring Boot。每个子目录可能对应一个特定的主题,如“Web ...
springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 核心容器CoreContainer Spring-Core Spring-Beans ...
这份尚硅谷的学习笔记涵盖了Spring Boot 3的各个方面,无论你是初学者还是有经验的开发者,都能从中受益。通过阅读`.md`和`.pdf`文件,你可以逐步学习并掌握这些知识点,从而提升自己的技能水平。
Spring Security 是一个强大的安全框架,主要...这包括理解Spring Security的工作原理,以及如何通过配置文件或代码来定制安全策略,以满足项目的需求。通过深入学习这些内容,开发者可以更好地保障Web应用的安全性。
在Spring-study-master中,你可以看到如何通过XML配置文件或注解方式实现DI,以及如何使用@Autowired进行自动装配。 其次,Spring的AOP(Aspect-Oriented Programming,面向切面编程)是另一个关键特性。AOP允许...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
**Spring Boot核心技术详解** Spring Boot是由Pivotal团队提供的全新框架,其设计目标是为了简化Spring应用的...希望这份学习笔记能帮助你深入理解和掌握Spring Boot的精髓,祝你在Spring Boot的学习之路上一帆风顺!
你可以通过配套代码理解如何配置 Bean、如何通过注解实现依赖注入,以及如何使用 XML 配置文件管理 Bean。 2. **Spring MVC**:Spring 提供的 Model-View-Controller 模式实现,用于构建 Web 应用。学习这部分内容...
这个"Timlong-SpringBoot-实战开发笔记"包含了作者在学习Spring Boot实战开发过程中的经验总结和遇到问题的解决方案,旨在帮助开发者更好地理解和应用Spring Boot。 1. **Spring Boot基础知识** - Spring Boot的...
5. **YAML与Properties**:Spring Boot支持使用YAML或Properties格式的配置文件,YAML提供了更友好的层次结构,让配置更易读写。 6. **命令行接口(CLI)**:Spring Boot提供了一个命令行工具,可以用于快速创建、...