`
mushme
  • 浏览: 790048 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

spring security简单示例

阅读更多
spring security比acegi的配置简单了好多好多,尽量升级到spring security吧
1.建好web项目,配置好监听器和拦截器
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext*.xml</param-value>
    </context-param>
	<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>
	<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

2.applicationContext.xml配置文件

<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.4.xsd">
 <!-- 声明在xml中使用Spring Security提供的命名空间。 -->

    <http auto-config='true'>
    	<!-- http部分配置如何拦截用户请求。auto-config='true'将自动配置几种常用的权限控制机制,包括form, anonymous, rememberMe -->
        <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
        <!-- 
			我们利用intercept-url来判断用户需要具有何种权限才能访问对应的url资源,可以在pattern中指定一个特定的url资源,也可以使用通配符指定一组类似的url资源。例子中定义的两个intercepter-url,第一个用来控制对/admin.jsp的访问,第二个使用了通配符/**,说明它将控制对系统中所有url资源的访问。
			在实际使用中,Spring Security采用的是一种就近原则,就是说当用户访问的url资源满足多个intercepter-url时,系统将使用第一个符合条件的intercept-url进行权限控制。在我们这个例子中就是,当用户访问/admin.jsp时,虽然两个intercept-url都满足要求,但因为第一个intercept-url排在上面,所以Spring Security会使用第一个intercept-url中的配置处理对/admin.jsp的请求,也就是说,只有那些拥有了ROLE_ADMIN权限的用户才能访问/admin.jsp。
			access指定的权限部分比较有趣,大家可以注意到这些权限标示符都是以ROLE_开头的,实际上这与Spring Security中的Voter机制有着千丝万缕的联系,只有包含了特定前缀的字符串才会被Spring Security处理。目前来说我们只需要记住这一点就可以了,在教程以后的部分中我们会详细讲解Voter的内容。
         -->
        <intercept-url pattern="/**" access="ROLE_USER" />
    </http>

    <authentication-provider>
        <user-service>
            <user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" />
            <!-- 
            	user-service中定义了两个用户,admin和user。为了简便起见,我们使用明文定义了两个用户对应的密码,这只是为了当前演示的方便,之后的例子中我们会使用Spring Security提供的加密方式,避免用户密码被他人窃取。
				最最重要的部分是authorities,这里定义了这个用户登陆之后将会拥有的权限,它与上面intercept-url中定义的权限内容一一对应。每个用户可以同时拥有多个权限,例子中的admin用户就拥有ROLE_ADMIN和ROLE_USER两种权限,这使得admin用户在登陆之后可以访问ROLE_ADMIN和ROLE_USER允许访问的所有资源。
				与之对应的是,user用户就只拥有ROLE_USER权限,所以他只能访问ROLE_USER允许访问的资源,而不能访问ROLE_ADMIN允许访问的资源。
             -->
            <user name="user" password="user" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>

</beans:beans>

以上文字,用spring serucity2.0.6和spring2.5.6测试通过
权限是写死在配置中的,下面将用数据库权限来替换
分享到:
评论

相关推荐

    spring security项目示例下载

    spring security配置项目下载,里面前台使用了easyui。 我的项目是用maven搭建的,如果你配置了maven,那么就会可以很轻松的运行起项目来了, 步骤: 1、在我的项目下找到database文件夹,把里面的union_ssh.sql文件...

    spring security 完整项目实例

    Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中,我们将深入探讨Spring Security的核心概念以及如何将其应用于实际的Web应用程序开发。 首先,我们从用户、...

    spring security3.07的tutorial和contacts示例源码

    本资源提供的"spring security3.07"教程和"contacts"示例源码,对于学习和理解Spring Security的内部工作原理及其在实际应用中的使用具有很高的价值。 首先,我们来看`tutorial`目录,这是Spring Security的教程...

    spring MVC简单示例

    在本示例中,我们将深入探讨Spring MVC的基本概念、配置以及如何创建一个简单的应用程序。 1. **Spring MVC 概述** Spring MVC 是 Spring 框架的一部分,它简化了开发和测试Web应用程序的过程。通过分离业务逻辑、...

    SpringSecurity学习总结源代码

    在"springsecurity.rar"文件中,可能包含了SpringSecurity的示例代码或项目模板。这些代码可能涉及到以下关键组件: 1. **Filter Security Interceptor**:这是SpringSecurity的主要过滤器,负责检查请求并决定是否...

    SpringSecurity3简单示例(含jar包,可直接运行)

    本项目是我在学习SpringSecurity3时候的示例,实现了简单的权限验证登陆,项目中包括spring3.0.1release以及spring-security3.0.2release等jar,项目可直接运行,方便大家更容易的上手学习

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

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

    SpringSecurity笔记,编程不良人笔记

    在`SpringSecurity.md`和`SpringSecurity.pdf`文档中,可能包含SpringSecurity配置、自定义用户服务、授权策略等方面的代码示例。`codes`目录可能包含实际运行的项目代码,方便读者实践和理解。 8. **图笔记.draw...

    spring-security简单demo

    这个"spring-security简单demo"应该是为了帮助开发者理解如何在Spring Boot应用中集成和配置Spring Security的基本功能。下面,我们将深入探讨Spring Security的核心概念和在这个示例中可能涉及到的关键点。 1. **...

    spring security 官方文档

    10. **与其他Spring框架的集成**:Spring Security与Spring Boot、Spring MVC、Spring Data等其他Spring组件无缝集成,使得构建安全应用变得更加简单。 在Spring Security的官方文档中,包含了详细的配置指南、API...

    Spring Security示例

    **Spring Security概述** Spring Security是Java领域中一个强大的安全框架,专为Web和企业应用程序提供安全解决方案。它提供了丰富的功能,包括用户认证、授权、访问控制、加密以及CSRF(跨站请求伪造)防护等,...

    spring vue简单示例

    在本教程中,我们将探讨如何使用...这个简单的示例教程将引导你完成一个基础的Spring Boot+Vue.js应用的搭建,涵盖用户管理和菜单功能。通过学习,你可以掌握两个框架的集成方法,为今后更复杂的Web应用开发奠定基础。

    SpringSecurity源码 SpringSecurity jar包 简单的Demo

    一个简单的配置示例可能包括定义`AuthenticationManager`,`HttpSecurity`以及自定义的权限表达式和访问决策策略。 在描述中提到的"简单的入门Demo"通常会包含以下步骤: 1. 添加Spring Security依赖到项目中,这...

    Spring Security 示例项目

    **Spring Security 示例项目** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。这个示例项目旨在为初学者提供一个基础的起点,让他们了解如何在Spring应用中集成...

    精彩:Spring Security 演讲PPT

    ### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的安全性受到了前所未有的关注。为了应对这些挑战,Spring Security 应运而生,成为了一个非常重要...

    SpringBoot+SpringSecurity+WebSocket

    在IT行业中,SpringBoot、SpringSecurity和WebSocket是三个非常重要的技术组件,它们分别在应用程序开发、安全管理和实时通信方面发挥着关键作用。本项目结合这三个技术,构建了一个整合的示例,旨在展示如何在...

    SpringSecurityApp:使用Spring Boot的Spring MVC 4应用程序的Spring Security简单示例

    Spring Security 是一个强大的安全框架,主要用于Java web应用的安全管理。在Spring Boot中,Spring Security 提供了一种便捷的方式来实现身份验证、授权以及访问控制。在这个名为"SpringSecurityApp"的项目中,我们...

    spring security用数据库的示例

    在"spring security用数据库的示例"中,我们将深入探讨如何配置Spring Security以使用数据库进行用户管理和权限控制。 首先,Spring Security的核心组件包括Authentication(认证)和Authorization(授权)。认证是...

Global site tag (gtag.js) - Google Analytics