本人近来刚学会了一点基本spring-security 的使用,想一想还是可以跟大家分享一下。
Spring Security是基于Spring的的权限认证框架,先给大家看看,applicationContext-security.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:b="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-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<http auto-config="true">
<!--这里是用来设置默认的登录页面的-->
<form-login login-page="/login.jsp"
authentication-failure-url="/login.jsp/error=true"
default-target-url="/login"
/>
<!--intercept用于设置拦截器,分配拦截器-->
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
<intercept-url pattern="/**" access="ROLE_USER"/>
</http>
<!--这里设置了两个用户,admin和bob-->
<authentication-manager>
<authentication-provider>
<user-service>
<user name="admin" password="admin" authorities="ROLE_USER,ROLE_ADMIN" />
<user name="bob" password="bob" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
</b:beans>
而web.xml文件的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext-*.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--
- Publishes events for session creation and destruction through the application
- context. Optional unless concurrent session control is being used.
-->
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
通过上面的配置,spring-security权限框架的设置基本可以满足于测试了。要把用户从数据库中取出来进行分配其角色,则需要用java代码通过继承UserDetails和UserDetailsService来进行有效的处理。这还有代码于我在进行更多的测试。
分享到:
相关推荐
**5.4 在 web 应用中验证** - **ExceptionTranslationFilter**:用于处理身份验证异常。 - **AuthenticationEntryPoint**:定义了当用户未经过身份验证尝试访问受保护资源时的行为。 - **验证机制**:Spring ...
Spring Security是Spring生态体系中的一个核心组件,主要负责应用程序的安全性,包括认证和授权。它为Web应用提供了全面的保护,防止未经授权的访问和操作。在版本2.5时,Spring Security已经是一个成熟且功能丰富的...
### Spring Security 3.0.1 中文版知识点解析...通过上述知识点的介绍,我们了解了 Spring Security 的核心概念、配置方式以及一些高级特性,这有助于开发者更好地利用 Spring Security 为应用程序构建强大的安全防护。
Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。这个框架被广泛应用于Web应用程序,提供了一套全面的安全解决方案,包括用户认证、授权、会话管理以及防止常见...
例如,`spring-security-core`负责基本的认证和授权逻辑,`spring-security-web`处理与Web安全相关的请求过滤,而`spring-security-config`则简化了在Spring应用上下文中定义安全规则的过程。 使用时,开发者可以...
1. **spring-security-core-2.0.5.RELEASE.jar**:这是Spring Security的核心库,包含了所有基本的安全处理类和接口。这个版本的发布解决了2.0.4版本中的已知问题,并可能包含一些性能优化和新功能。它包括了访问...
Spring Boot、Spring Security和OAuth2是Java生态系统中用于构建安全Web应用的三大利器。本篇文章将围绕“spring-boot spring-security-oauth2 完整demo”这一主题,详细阐述这三个框架如何协同工作,以及如何通过...
在当前的数字化时代,安全问题变得越来越重要,尤其是在企业级的应用中。Spring Security是一个功能强大、高度定制的安全框架,它专门用于为基于Spring的应用程序提供安全性解决方案。Spring Security架构的设计初衷...
这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...
《Spring Security Web源码解析与...在Web应用中,Spring Security通过过滤器链来实现安全控制,这些过滤器包括但不限于:`DelegatingRequestMatcherFilter`,`SecurityContextPersistenceFilter`,`LogoutFilter`,`...
可能包含的内容有:SpringSecurity的架构设计、AOP(面向切面编程)在安全中的应用、基于角色的访问控制(Role-Based Access Control, RBAC)、OAuth支持、CSRF(跨站请求伪造)防护、以及如何与其他Spring模块如...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...
在3.0版本中,Spring Security 已经相当成熟,提供了丰富的特性来保障应用的安全性。 在开始使用Spring Security时,了解并正确引入必要的jar包是至关重要的。以下是你提供的压缩包文件中的关键组件: 1. **spring...
在实际应用中,我们可能会遇到的问题和解决方案可能包括如何配置Spring Security XML,如何处理异常,如何自定义认证和授权逻辑,以及如何与其他Spring框架如Spring Boot、Spring MVC集成等。博客链接中的内容可能...
Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的...Web集成:Spring Security能够无缝集成到Spring框架和Spring MVC中,提供了过滤器、标签库等工具,简化了权限控制和
Spring Security 是一个强大的安全框架,用于为Java应用提供全面的安全管理解决方案。它是Spring生态系统的组成部分,专注于身份验证、授权和访问控制。Spring Security的核心特性包括: 1. **身份验证...
这个"狂神spring-security静态资源.zip"文件很可能包含了Spring Security的相关教程、代码示例或配置文件,帮助用户理解和学习如何在Spring应用中实现安全控制。下面我们将深入探讨Spring Security的核心概念、功能...
以上概览仅为Spring Security部分内容的总结,实际应用中需要根据具体需求选择合适的配置和技术栈。Spring Security提供了极其丰富的特性和灵活性,适用于从简单的Web应用到复杂的企业级系统的安全性需求。