1.applicationContext-security的配置
使用命名空间,主要分为3个部分:
a. <http>注册过滤器链,配置表单登陆,注销等
b. 注册自定义的安全认证管理器
c. 注册自定义的授权过滤器
2.<http>
a. <http>元素会创建一个FilterChainProxy和filter使用的bean。以前常常出现的因为filter顺序不正确产生的问题不会再出现了,现在这些过滤器的位置都是预定义好的。
b. auto-config = true(默认为false)
==
<http>
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login />
<anonymous />
<http-basic />
<logout />
<remember-me />
</http>
c. access-decision-manager-ref属性可以自定义的访问策略管理器。当系统角色名的前缀不是默认的ROLE_时,需要自定义访问策略管理器。
3.安全认证
a. <authentication-manager alias="XX"/>为AuthenticationManager注册一个别名,然后你可以application context的其他地方使用这个名字
b. <authentication-provider>元素会创建一个DaoAuthenticationProvider bean;一个ProviderManager bean通常是由命名空间过程系统创建的, DaoAuthenticationProvider自动注册到它上面
c. <user-service>元素会创建一个InMemoryDaoImpl。
d. 使用<custom-authentication-provider>元素可以为ProviderManager注册另外的AuthenticationProvider bean
4.http/intercept-url
a. <intercept-url pattern="/XX" access="ROLE_XXX" />定义了对某个资源的访问需要某个角色的权限
b. 对于在http/intercept-url中没有进行定义的URL,将会默认使用系统内置的过滤器链进行权限认证(就是说无须认证和授权就能访问了);
c. 若使用了pattern="/*" 则一般情况下要配置匿名认证过滤器--登陆页面也被保护的话则会陷入死循环中.
d. 由于一般情况下资源对应的权限都配置在数据库的资源权限表中,所以这个元素一般情况下没用
e. 如果数据库中的资源权限表中不存在该资源记录,那么匿名认证过滤器实际上时不需要的.
5.<security:custom-filter>
a. <security:custom-filter position="XXX"/>会使用自定义的过滤器替换(position)某个过滤器,但是有3个不能替换:HttpSessionContextIntegrationFilter, ExceptionTranslationFilter, FilterSecurityInterceptor.但是可以使用before或after
b. 除了使用position外,还可以使用before,after加入自定义的过滤器,还有的关键字包括first,last代表这个过滤器链的头和尾
6.数据库的资源权限表中应该只保存.action的记录,把所有受保护的jsp页面放到/WEB-INF文件夹下,外部的用户就无法访问了,/WEB-INF下的JSP只能通过Servlet的转发访问。
分享到:
相关推荐
在本文中,我们将深入探讨Spring Security的配置文件小结,逐步深化到URL级别的保护。 首先,我们需要理解Spring Security的核心组件。这些包括`WebSecurityConfigurerAdapter`,这是自定义安全配置的主要入口点;`...
在"springsecurity.rar"文件中,可能包含了SpringSecurity的示例代码或项目模板。这些代码可能涉及到以下关键组件: 1. **Filter Security Interceptor**:这是SpringSecurity的主要过滤器,负责检查请求并决定是否...
`security_3`可能是一个包含Spring Security配置文件、Java类和其他相关资源的目录。这些类可能包括自定义的认证和授权类,如实现`UserDetailsService`接口的类,以便从数据库加载用户信息。 教程文档`教你使用_...
在项目`SpringSecurityCusotmLoginFormXmlExample`中,你可以找到这些配置的具体实现,包括Spring Security的XML配置文件、自定义登录表单以及与Spring MVC的整合示例。通过分析和学习这个示例,你可以更好地理解...
3. **定义安全规则**: 在Spring Security配置文件中定义具体的认证和授权规则,如使用数据库存储用户信息、使用自定义登录页面等。 #### 四、Spring Security 2.x 概览 Spring Security 2.x不仅提供了强大的功能...
为了演示Spring Security的配置和使用,我们可以构建一个简单的Web项目,使用MyEclipse导入Spring和Spring Security的相关JAR包,然后配置Spring Security来保护Web资源。在本例中,用户信息(用户名、密码和权限)...
从给定的部分内容来看,我们可以看到这是一个Spring Security的配置文件,使用了Spring Security的XML命名空间。下面是一个示例性的配置片段: ```xml <!-- 允许访问登录页面 --> <!-- 静态资源不受保护 -...
总结来说,这个项目演示了如何在SpringBoot环境中,利用SpringSecurity保证安全性,结合WebSocket实现高效、实时的双向通信。这样的架构对于需要实时交互的Web应用,如在线聊天、实时股票交易、游戏等场景非常适用。...
Spring Security 的配置主要包括三个方面:Web.xml、 Spring 配置文件和数据库配置。在 Web.xml 文件中需要配置 Spring Security 的 Filter 和 Listener。在 Spring 配置文件中需要配置安全相关的 bean。数据库配置...
【Spring Security 学习总结】 Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于 Java 的应用程序。本学习总结文档主要针对初学者,旨在剖析一个不安全的应用程序并阐述如何通过 ...
- **使用Spring Security的XML配置文件**:通过XML配置文件来指定Spring Security的规则和策略,如认证管理器、权限管理器、过滤器链等。 - **添加Spring DelegatingFilterProxy到web.xml文件**:这是将Spring ...
3. **配置Spring Security核心组件**:创建一个名为`security-config.xml`的配置文件,定义过滤器链、认证和授权规则。例如,使用`http`元素来定义URL匹配规则,`form-login`和`logout`元素配置登录和登出行为。 4....
通过对数据库结构的设计以及Spring Security配置文件的编写,可以实现一个基于角色的权限管理系统。这种系统能够有效地管理和控制不同用户对系统资源的访问权限,从而提高系统的安全性。开发者可以根据实际需求调整...
而"Spring Security 3.1.zip"文件可能包含了示例代码或额外的教程资源,用于辅助学习和实践。 总结,Spring Security 3.1作为一款强大的安全框架,虽然版本较旧,但仍值得开发者深入研究。通过学习和实践,我们可以...
#### 三、配置文件详解 ##### 3. applicationContext_security.xml配置 Spring Security的配置通常放在`applicationContext_security.xml`文件中,该文件包含了Spring Security的核心配置信息。 ```xml ...
在"SpringSecurity2Demo"这个项目中,我们可以预期看到以下组成部分: 1. **配置文件**: `spring-security.xml`,这是Spring Security的核心配置文件,包含了过滤器链的配置、用户认证源、授权规则等。 2. **控制...
本文将详细介绍如何通过Spring Security配置多个登录页面,并为不同类型的用户设置不同的登录逻辑及登出后的返回界面。这不仅有助于提高系统的安全性,还能优化用户体验。 ### Spring Security简介 Spring ...