`
ynp
  • 浏览: 445192 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个spring security 配置列子

阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<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-3.0.xsd
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">

	<!-- 配置数据库 -->
	<beans:bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<beans:property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<beans:property name="url" value="jdbc:oracle:thin:@localhost:1521:zzz" />
		<beans:property name="username" value="xxx" />
		<beans:property name="password" value="yyy" />
	</beans:bean>	
	
    <http auto-config='true' access-denied-page="/accessDenied.jsp">
    	<!-- 自定义的登录页面 -->
      	<form-login login-page="/login.jsp"/>
      	
        <intercept-url pattern="/login.jsp" filters="none"/>
        <!-- 以下两个<intercept-url 的顺序是不可随便条换的,否则user用户也能登陆/admin.jsp页面 -->
        <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
        <intercept-url pattern="/hello.do*" access="ROLE_USER,ROLE_ADMIN"/>
        <intercept-url pattern="/index.jsp" access="ROLE_USER,ROLE_ADMIN"/>
        <intercept-url pattern="/**" access="ROLE_ADMIN" />
        
        <session-management>
        	<concurrency-control max-sessions="1" error-if-maximum-exceeded="true" />
        </session-management>
    </http>
    
	<authentication-manager>
	    <authentication-provider >
	    <!-- 配置实现
	        <user-service>
	            <user name="admin" password="admin" authorities="ROLE_USER,ROLE_ADMIN" />
	            <user name="user" password="user" authorities="ROLE_USER" />
	        </user-service>
	     -->
	      <!-- 数据库实现 -->
	    	<jdbc-user-service data-source-ref="dataSource" 
	    		users-by-username-query="select username ,passWord, enabled from users where username=?"  
				authorities-by-username-query="select username,authority from authorities where username=?"/>
	    	
	    </authentication-provider>
	</authentication-manager>
	
	<!-- 国际化 -->
	<beans:bean id="messageSource"
	    class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
	  <beans:property name="basename" value="classpath:messages_zh_CN"/>
	</beans:bean>
	
	<!-- 业务类 -->
	<beans:bean id="helloWordService" class="com.xx.service.impl.HelloWorldServiceImpl"></beans:bean>
	
	<global-method-security>
		<!-- ROLE_USER能执行sayHello方法 -->
		<protect-pointcut access="ROLE_USER" expression="execution(* com.xx.service.*.sayHello(..))"/>
		<!-- ROLE_USER不能执行sayBye方法 -->
		<protect-pointcut access="ROLE_ADMIN" expression="execution(* com.xx.service.*.sayBye(..))"/>
	</global-method-security>
</beans:beans>
分享到:
评论

相关推荐

    Acegi+Hibernate+Spring+JSF列子

    1. **Acegi**(现已被Spring Security替代):Acegi 是一个强大的安全框架,负责处理Web应用程序的身份验证和授权。它提供了细粒度的访问控制,可以保护单个URL、方法甚至特定的数据对象。在这个例子中,Acegi 可能...

    gwt(google web toolkit) 和 spring 在一起使用列子

    Spring框架则是一个全面的企业级应用开发框架,提供依赖注入、面向切面编程以及数据访问等功能,适用于服务端开发。 将 GWT 和 Spring 结合使用,可以充分利用两者的优势,构建高效、可维护的Web应用。下面将详细...

    acegi结合ssh实用列子

    Acegi Security System for Spring(简称Acegi)是Spring框架的一个扩展,它为Spring应用程序提供了全面的安全管理解决方案。在本示例中,我们将深入探讨如何将Acegi与Struts、Hibernate(SSH)这三大主流Java Web...

    springboot列子

    SpringBoot 是一个由 Pivotal Team 创建的 Java 框架,它旨在简化 Spring 应用程序的初始搭建以及开发过程。SpringBoot 基于 Spring Framework,通过提供默认配置来简化Spring应用的搭建和开发,它消除了大量的XML...

    好例子网_system.rar

    本系统采用Java技术栈进行开发,结合了Spring框架和MyBatis持久层框架,构建了一个强大且灵活的仓库管理平台。本文将深入探讨这些技术在系统中的应用及其重要性。 首先,Java作为全球最广泛使用的编程语言之一,以...

Global site tag (gtag.js) - Google Analytics