`
ninnd
  • 浏览: 21945 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring security2.0+hibernate3.2笔记之配置文件

阅读更多

目录结构:src/applicationContext.xml;WebRoot/WEB-INF/security.xml;WebRoot/WEB-INF/web.xml;

配置文件:

  1. 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
    			/WEB-INF/security.xml
    		</param-value>
    	</context-param>
    	
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    	<!-- 延迟加载  开始-->
    	<filter>
    		<filter-name>lazy</filter-name>
    		<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>lazy</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    	<!-- 延迟加载  结束-->
    
    	<!-- Spring 开始-->
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<!-- Spring 结束-->
    
    	<!-- Spring Security 开始-->
    	<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>
    	<!-- Spring Security 结束-->
    	
    	<!-- Spring Security 会话管理  开始-->
    	<listener>
    		<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
    	</listener>
    	<!-- Spring Security 会话管理  结束-->
    </web-app>
    
     
  2. applicationContext.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
             http://www.springframework.org/schema/tx
    		 http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
             http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context-3.0.xsd
             http://www.springframework.org/schema/aop
             http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
    	default-autowire="byType">
    	
    	<!-- 启动注解 -->
    	<context:annotation-config />
    	<!-- 指定使用了注解的类所在包  -->
    	<context:component-scan base-package="com.ss3" />
    	<!-- 启用注解事务 -->
    	<bean id="transactionManager"
    		class="org.springframework.orm.hibernate3.HibernateTransactionManager"></bean>
    	<tx:annotation-driven />
    
    	<!-- 配置文件读取 -->
    	<bean
    		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
    		autowire="no">
    		<property name="locations">
    			<list>
    				<value>classpath:jdbc.properties</value>
    			</list>
    		</property>
    	</bean>
    
    	<bean id="dataSource"
    		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    		<property name="driverClassName" value="${jdbc.driverClassName}">
    		</property>
    		<property name="url" value="${jdbc.url}">
    		</property>
    		<property name="username" value="${jdbc.userName}"></property>
    		<property name="password" value="${jdbc.pwd}"></property>
    	</bean>
    
    	<bean id="sessionFactory"
    		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" autowire="byName">
    		<property name="dataSource" ref="dataSource"></property>
    		<property name="configLocation" value="classpath:hibernate.cfg.xml">
    		</property>
    	</bean>
    	
    </beans>
    
     
  3. security.xml
    <?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"
    	default-autowire="byType">
    
    
    	<http auto-config="true" access-denied-page="/deny.html">
    		<intercept-url pattern="/index.jsp" filters="none" />
    		<!-- 控制多用户登陆 -->
    		<session-management>
    			<concurrency-control max-sessions="1" error-if-maximum-exceeded="true"/>
    		</session-management>
    		<!--
    			增加一个filter位于FILTER_SECURITY_INTERCEPTOR之前
    		-->
    		<custom-filter ref="myFilter" before="FILTER_SECURITY_INTERCEPTOR" />
    	</http>
    	<!--
    		一个自定义的filter,必须包含authenticationManager,accessDecisionManager,securityMetadataSource三个属性
    	-->
    	<beans:bean id="myFilter" class="com.ss3.filter.MyFilterSecurityInterceptor"
    		autowire="no">
    		<beans:property name="authenticationManager" ref="myAuthenticationManager" />
    		<!-- 访问决策器,决定某个用户具有的角色,是否有足够的权限去访问某个资源     注解-->
    		<beans:property name="accessDecisionManager" ref="myAccessDecisionManager" />
    		<!-- 资源源数据定义,将所有的资源和权限对应关系建立起来,即定义某一资源被允许访问的角色 	-->
    		<beans:property name="securityMetadataSource" ref="myInvocationSecurityMetadataSourceService" />
    	</beans:bean>
    	
    	<!-- 验证配置 , 认证管理器,实现用户认证的入口,实现UserDetailsService接口即可 -->
    	<authentication-manager alias="myAuthenticationManager">
    		<authentication-provider user-service-ref="myUserDetailsService">
    			<password-encoder hash="md5">
    				<salt-source user-property="username" />
    			</password-encoder>
    		</authentication-provider>
    	</authentication-manager>
    
    </beans:beans>
     
分享到:
评论

相关推荐

    Spring学习笔记+学习源码.zip

    这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...

    spring-note spring 读书笔记

    7. **Spring安全(Spring Security)**: `spring_security.sql`和`spring_security.txt`可能涉及到Spring Security的基本概念,如用户认证、权限控制、基于角色的访问控制(RBAC),以及如何配置和定制安全规则。...

    Spring5-尚硅谷框架课堂笔记.rar

    《Spring5 尚硅谷框架课堂笔记》是一份深入解析 Spring 框架的珍贵资料,主要针对 Spring 5 版本进行了详尽的讲解。Spring 是一个开源的 Java 应用程序框架,它以 IoC(Inversion of Control,控制反转)和 AOP...

    Spring笔记示例源代码

    Spring框架是Java开发中最常用的轻量级开源框架之一,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,极大地简化了企业级应用的开发工作。"Spring笔记示例源...

    JavaEE精讲之Spring框架实战 ——学习笔记.zip

    7. **Spring Security**:Spring Security是一个强大且高度可配置的安全框架,用于保护Web应用和RESTful服务。它可以处理认证、授权等安全需求,提供了细粒度的访问控制。 8. **Spring Integration**:这个模块用于...

    马士兵老师spring框架学习笔记

    这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **Spring框架概述**:Spring是一个开源的Java平台,提供了一个全面的编程和配置模型,支持构建更简洁、更易于测试和...

    学习笔记:尚硅谷Spring6基础篇

    ### 学习笔记:尚硅谷Spring6基础篇 #### 一、Spring框架概述 ##### 1.1 Spring是什么? Spring是一款主流的Java EE轻量级开源框架,由“Spring之父”Rod Johnson提出并创立。Spring的主要目标是简化Java企业级...

    spring第一次课笔记

    本笔记将详细解析Spring框架的基础知识,帮助你更好地理解并掌握Spring的核心概念。 首先,我们需要了解Spring框架的主要模块: 1. **核心容器**:这是Spring框架的基础,包括BeanFactory和ApplicationContext。...

    Spring5框架课堂笔记.7z

    5. **XML配置**:Spring5之前的版本中,Bean的配置通常通过XML文件进行。虽然Spring5推荐使用Java配置或注解配置,但理解XML配置仍然是基础。 6. **注解配置**:Spring5中,注解配置成为主流,如@Service、@...

    达内,tarena,spring笔记,springPPT课件,达内spring笔记

    1. **IoC(Inversion of Control)容器**:Spring的核心特性之一,通过反转控制权,让框架负责管理对象的生命周期和装配,开发者只需定义配置,无需手动创建对象。 2. **依赖注入(Dependency Injection, DI)**:...

    尚硅谷springboot核心技术笔记

    接下来,笔记详细讲解了Spring Boot的主配置文件——application.properties或application.yml。这些配置文件用于定制自动配置行为,调整应用的行为,如端口设置、数据库连接信息等。此外,还介绍了如何通过@...

    Spring Boot核心技术-笔记-pdf版.pdf

    **Spring Boot核心技术详解** Spring Boot是由Pivotal团队提供的全新框架,其设计目标是为了简化Spring应用的...希望这份学习笔记能帮助你深入理解和掌握Spring Boot的精髓,祝你在Spring Boot的学习之路上一帆风顺!

    尚硅谷spring boot 代码及笔记

    此外,笔记中可能涉及 Spring Boot 配置文件的应用,如 `application.properties` 或 `application.yml`,它们用于设置应用的属性。你还会了解到如何通过 `@Value` 注解注入配置属性到类的字段,以及如何自定义配置...

    spring认证考试完全笔记

    Spring认证考试完全笔记是针对那些想要深入理解和掌握Spring框架核心概念及应用的Java开发者的一份宝贵资源。这份笔记详尽地涵盖了Spring框架的所有关键知识点,旨在帮助考生充分准备Spring认证考试,确保他们在实际...

    百知教育Spring详解笔记.rar

    2. **依赖注入(DI)**:IoC的一种实现方式,Spring允许开发者通过配置文件或注解来声明对象之间的依赖关系,容器会根据这些信息自动装配对象,降低了耦合度。 3. **面向切面编程(AOP)**:Spring的AOP支持让我们...

    Spring笔记

    8. **Spring Security**:Spring Security是Spring生态系统中的安全框架,提供了一套完整的授权和认证解决方案,保护Web应用免受常见的安全威胁。 9. **Spring Test**:Spring框架包含一套测试工具和库,支持单元...

    spring5源码分析笔记

    Spring框架是Java开发中最常用的轻量级开源框架之一,它为构建企业级应用程序提供了全面的编程和配置模型。Spring5源码分析笔记旨在深入理解Spring的工作原理,帮助开发者提升技能,优化代码,以及更好地利用其核心...

    spring笔记.zip

    此外,Spring框架还支持大量扩展,如Spring Security(安全控制)、Spring Batch(批量处理)、Spring Integration(企业集成)等。这些笔记将涵盖这些主题的基本概念、使用方法和示例,帮助初学者快速理解和掌握...

    spring编程学习笔记

    Spring框架是Java开发中最常用的轻量级框架之一,它以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)为核心特性,极大地简化了企业级应用的开发工作。本学习笔记将深入...

    Spring Boot核心技术 - 笔记.rar

    Spring Boot的自动配置是其核心功能之一,它允许开发者通过“约定优于配置”的原则快速搭建项目。自动配置是基于`@EnableAutoConfiguration`注解实现的,该注解会根据项目中的依赖项自动配置相应的Bean。例如,如果...

Global site tag (gtag.js) - Google Analytics