`

Spring 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.1.xsd">
	
	<!-- 全局方法保护,权限设置访问 -->
	<global-method-security>
		<protect-pointcut access="ROLE_ADMIN" expression="execution(* com.security.action.*.*(..))"/>
		<protect-pointcut access="ROLE_USER" expression="execution(* com.security.action.*.*list*(..))"/>
	</global-method-security>
	
	<!-- http请求映射配置 -->
	<http auto-config="true">
		<!-- 匿名访问 -->
		<intercept-url pattern="/*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
		<intercept-url pattern="/app/user*" access="ROLE_USER"/>
		<intercept-url pattern="/*/list*" access="ROLE_USER"/>
		<intercept-url pattern="/**" access="ROLE_ADMIN"/>
		<!-- 会话管理,一个用户异地多次登录 -->
		<session-management session-fixation-protection="none">
			<concurrency-control max-sessions="1" error-if-maximum-exceeded="true"/>
		</session-management>
		<!-- 自定义登录页面 -->
 		<form-login login-page="/login.html" 
 					authentication-failure-url="/login.html?error=true" 
 					login-processing-url="/user/login"
 					username-parameter="username"
 					password-parameter="password"/> 
 		<!-- 注销登录 -->
 		<logout invalidate-session="true" logout-url="/logout" logout-success-url="/login.html"/>
	</http>
	
	<!-- 数据源 -->
	<beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<beans:property name="driverClassName" value="com.mysql.jdbc.Driver"/>
		<beans:property name="url" value="jdbc:mysql:///privilege"/>
		<beans:property name="username" value="root"/>
		<beans:property name="password" value="admin"/>
	</beans:bean>
	<!-- 错误消息国际化-->
	<beans:bean id="messageSource"
		class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
		<beans:property name="basename" value="classpath:org/springframework/security/messages" />
	</beans:bean>
	<!-- 配置数据库权限信息获取实现类 -->
	<beans:bean id="userDetailsService" class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
		<!-- 禁用基本的查询权限 -->
		<beans:property name="enableAuthorities" value="false"/>
		<!-- 启用分组权限 -->
		<beans:property name="enableGroups" value="true"/>
		<!-- 数据源 -->
		<beans:property name="dataSource" ref="dataSource"/>
	</beans:bean>
	
	<!-- 权限认证管理 -->
    <authentication-manager>
        <authentication-provider user-service-ref="userDetailsService">
        	<!-- 使用md5加密 -->
        	<password-encoder hash="md5"/>
        	<!-- 权限从数据库中查询出来,需要数据源 -->
<!--         	
			自定义数据表权限,必须字段 users表:username,password,enabled 
			自定义数据表权限,必须字段 authorities表:username,authority
-->
<!--         	<jdbc-user-service data-source-ref="dataSource"  -->
<!--         	users-by-username-query= -->
<!--         	"select -->
<!--         		username,password,enabled -->
<!--         	from -->
<!--         		users -->
<!--         	where  -->
<!--         		username = ?"  -->
<!--         	authorities-by-username-query= -->
<!--         	"select  -->
<!--         		u.username,r.authority  -->
<!--         	from  -->
<!--         		users as u -->
<!-- 			inner  -->
<!-- 			join  -->
<!-- 				role as r  -->
<!-- 			inner  -->
<!-- 			join  -->
<!-- 				user_role as ur  -->
<!-- 			where  -->
<!-- 				u.user_id = ur.user_id  -->
<!-- 			and  -->
<!-- 				r.role_id = ur.role_id -->
<!-- 			and  -->
<!-- 				username = ?" -->
<!--         	/> -->
        	
        </authentication-provider>
    </authentication-manager>
</beans:beans>

 

分享到:
评论

相关推荐

    Spring Security XML配置模板.docx

    ### Spring Security XML配置详解 #### 一、Spring Security 概述 Spring Security 是一个功能强大的安全框架,提供了声明式安全服务。它不仅能够为 Java 应用程序提供认证(Authentication)和授权...

    spring security xml方式配置

    本篇将重点讲解如何通过XML配置来设置Spring Security。 首先,让我们理解Spring Security的基本架构。Spring Security的核心组件包括`Authentication`(认证)和`Authorization`(授权)。认证是确定用户身份的...

    springsecurity使用配置详解

    在提供的压缩包`springsecurity配置demo`中,你将找到示例代码和详细说明,这将帮助你更好地理解和实践上述概念。通过学习和实践这些示例,你将能够为自己的Spring应用程序构建强大的安全防护。

    Spring Security 配置实例XML文件

    Spring Security 配置实例XML文件

    spring security 3 多页面登录 小秘密小运气

    在Spring Security XML配置中,可以为每个不同的登录页面定义一个`&lt;http&gt;`元素。例如,针对管理员和普通用户的登录,可以分别设置: ```xml **" create-session="stateless"&gt; &lt;!-- Admin login form ...

    springSecurity

    - **Spring Security XML配置**:传统的配置方式,通过`&lt;http&gt;`、`&lt;authentication-manager&gt;`等元素定义安全规则。 - **Java配置**:更现代的方式,使用`@EnableWebSecurity`、`WebSecurityConfigurerAdapter`等...

    SpringSecurity 3配置文件

    首先,Spring Security的配置通常位于一个或多个XML文件中,这些文件通过`&lt;beans&gt;`标签定义了安全相关的bean。这些bean是Spring Security框架的核心组件,它们负责处理用户认证、授权、会话管理等安全任务。在Spring...

    Spring Security in Action

    Spring Security 的配置主要通过 security.xml 文件实现。security.xml 文件中定义了身份验证、授权和访问控制等配置项。 六、Spring Security 的架构 Spring Security 的架构主要包括以下几层: * Presentation ...

    spring-security多登录页面配置

    从给定的部分内容来看,我们可以看到这是一个Spring Security的配置文件,使用了Spring Security的XML命名空间。下面是一个示例性的配置片段: ```xml &lt;!-- 允许访问登录页面 --&gt; &lt;!-- 静态资源不受保护 -...

    spring-security3 配置和使用

    在 web.xml 文件中添加 Spring Security 3 的配置,以便激活安全过滤器。下面是一个基本的 web.xml 配置示例: ```xml &lt;!-- spring security --&gt; &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;classpath*:/...

    spring security 2 配置说明

    #### web.xml配置 `web.xml`文件是Web应用程序的部署描述符,其中的`&lt;filter&gt;`和`&lt;filter-mapping&gt;`配置是Spring Security的关键部分。通过注册`DelegatingFilterProxy`,确保了Spring Security Filter Chain能够在...

    Spring Security3 中文版 张卫滨 推荐

    - **实现Spring Security的XML配置文件**:给出了具体的配置示例,帮助读者理解如何通过XML来定义Spring Security的配置。 - **添加Spring DelegatingFilterProxy到web.xml文件**:指导如何在web.xml中配置过滤器以...

    Spring Security 资料合集

    - **XML配置**:Spring Security 原本支持XML配置,开发者可以在`security:http`标签下配置安全行为,如设置访问限制、登录页面等。 - **Java配置**:随着Spring Boot的发展,Spring Security也提供了Java配置方式...

    Spring Security 3.1.3配置实例

    在3.1.3版本中,这两个过程可以通过XML配置或Java配置来实现。 ### 配置步骤 1. **添加依赖**:在项目中引入Spring Security的Maven或Gradle依赖。3.1.3版本的依赖可能如下所示(以Maven为例): ```xml ...

    Spring Security3.2的contacts示例代码

    8. **Spring Security XML配置**:在Spring Security 3.2时代,配置主要通过XML完成。`security:http`、`security:authentication-manager`等元素定义了整个安全体系结构。 9. **基于注解的配置**:虽然本示例可能...

    SpringSecurity.pdf

    Spring Security的配置灵活,可以通过XML配置文件、Java配置类或者注解来定制安全策略。它还提供了大量的扩展点,允许开发者根据自己的业务需求进行定制和扩展。 Spring Security的学习过程可以分为入门、进阶和...

    SpringSecurity笔记,编程不良人笔记

    - XML配置:早期版本的SpringSecurity使用XML配置,但现在已被注解配置取代。 - 注解配置:使用`@EnableWebSecurity`开启Web安全,通过`@Configuration`和`WebSecurityConfigurerAdapter`自定义安全规则。 - ...

    SpringSecurity学习总结源代码

    在实际开发中,SpringSecurity可以通过注解或XML配置进行集成。注解方式更加直观和简洁,例如`@Secured`、`@PreAuthorize` 和 `@PostAuthorize` 可以直接在方法上声明访问控制。 总结,SpringSecurity是一个功能...

    spring-security-2.0.4.zip

    在使用Spring Security时,开发者通常需要配置一个Spring Security XML配置文件,定义安全规则、认证和授权策略。此外,还需要编写一些自定义的类来处理特定的业务逻辑,如用户认证服务、权限检查等。Spring ...

    SpringSecurity 中文

    3. **添加Spring Security XML配置文件的应用到web.xml**:整合Spring Security到Web应用程序中。 **常见问题** - **配置错误**:确保XML配置文件没有语法错误。 - **依赖冲突**:确认项目依赖版本兼容。 - **异常...

Global site tag (gtag.js) - Google Analytics