sprint securiy2 适合portal的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:sec="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">
<bean id="springSecurityFilterChain"
class="org.springframework.security.util.FilterChainProxy">
<property name="filterInvocationDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/my/security_login.do=httpSessionContextIntegrationFilter,authenticationProcessingFilter
/mydo/security_logout.do=logoutFilter
/**=httpSessionContextIntegrationFilter,myFilte,authenticationProcessingFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterSecurityInterceptor
</value>
</property>
</bean>
<bean id="anonymousProcessingFilter"
class="org.springframework.security.providers.anonymous.AnonymousProcessingFilter">
<property name="key">
<value>SETTHISKEY</value>
</property>
<property name="userAttribute">
<value>anonymousUser,ROLE_ANONYMOUS</value>
</property>
</bean>
<bean id="httpSessionContextIntegrationFilter"
class="org.springframework.security.context.HttpSessionContextIntegrationFilter"/>
<!-- 覆写主要是为了个性处理一下cookie -->
<bean id="rememberMeServices"
class="com.do.doportal.security.rememberme.MyTokenBasedRememberMeServices">
<property name="userDetailsService" ref="portalUserDetailsService" />
<property name="key" value="ChemboSetThisKey" />
</bean>
<bean id="rememberMeProcessingFilter"
class="org.springframework.security.ui.rememberme.RememberMeProcessingFilter">
<property name="rememberMeServices" ref="rememberMeServices" />
<property name="authenticationManager" ref="authenticationManager" />
</bean>
<bean id="rememberMeAuthenticationProvider"
class="org.springframework.security.providers.rememberme.RememberMeAuthenticationProvider">
<property name="key" value="ChemboSetThisKey" />
</bean>
<!-- 清理上面个性化处理的cookie -->
<bean id="logoutFilter"
class="org.springframework.security.ui.logout.LogoutFilter">
<constructor-arg index="0" value="/portal/signin/signin/logout.do" />
<constructor-arg index="1">
<list>
<ref bean="rememberMeServices"/>
<bean class="com.do.doportal.security.logout.MySecurityContextLogoutHandler" />
</list>
</constructor-arg>
<property name="filterProcessesUrl" value="/mydoecurity_logout.do" />
</bean>
<bean id="authenticationProcessingFilter"
class="com.do.doportal.security.authorities.support.MyAuthenticationProcessingFilter">
<property name="defaultTargetUrl" value="/portal/signin/signin/forward.do"></property>
<property name="filterProcessesUrl" value="/mydo/security_login.do"></property>
<property name="authenticationManager" ref="authenticationManager"></property>
<property name="alwaysUseDefaultTargetUrl" value="true"></property>
<property name="authenticationFailureUrl" value="/portal/signin/signin/signin.do?error=true"></property>
<property name="rememberMeServices" ref="rememberMeServices" />
</bean>
<bean id="daoAuthenticationProvider"
class="org.springframework.security.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="portalUserDetailsService" />
<property name="passwordEncoder" ref="passwordEncoder" />
<property name="hideUserNotFoundExceptions" value="false" />
</bean>
<bean id="exceptionTranslationFilter"
class="org.springframework.security.ui.ExceptionTranslationFilter">
<property name="authenticationEntryPoint">
<bean
class="org.springframework.security.ui.webapp.AuthenticationProcessingFilterEntryPoint">
<property name="loginFormUrl" value="/portal/signin/signin/signin.do" />
<property name="forceHttps" value="false" />
</bean>
</property>
<property name="accessDeniedHandler">
<bean
class="org.springframework.security.ui.AccessDeniedHandlerImpl">
<property name="errorPage" value="/portal/signin/signin/deny.do" />
</bean>
</property>
</bean>
<bean id="passwordEncoder" class="org.springframework.security.providers.encoding.Md5PasswordEncoder" />
<bean id="authenticationManager"
class="org.springframework.security.providers.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider" />
<ref local="rememberMeAuthenticationProvider" />
</list>
</property>
</bean>
<bean id="accessDecisionManager" class="org.springframework.security.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions" value="false"/>
<property name="decisionVoters">
<list>
<bean class="org.springframework.security.vote.RoleVoter">
<property name="rolePrefix" value="" />
</bean>
<bean class="org.springframework.security.vote.AuthenticatedVoter" />
</list>
</property>
</bean>
<bean id="filterSecurityInterceptor" class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="accessDecisionManager" ref="accessDecisionManager"/>
<property name="objectDefinitionSource">
<value>
<![CDATA[
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/mydo/accounetting/bvoaetting/*= ROLE_buyer
/mydo/sourcievent/se/loadtail.do= ROLE_buyer
/mydo//se/entsrceventlist.do= ROLE_buyer
/mydo/accousetting/mvoasetting/*= ROLE_seller
/mydo/product/**= ROLE_seller
]]>
</value>
</property>
<property name="observeOncePerRequest" value="false" />
<sec:custom-filter after="LAST" />
</bean>
<bean id="myFilte" class="com.do.myportal.security.interceptor.InterceptUrl">
<sec:custom-filter before="ANONYMOUS_FILTER" />
</bean>
</beans>
分享到:
相关推荐
在这个"Spring Security2配置"的主题中,我们将深入探讨如何配置Spring Security来保护我们的应用程序,以及它的一些核心概念。 首先,让我们理解Spring Security的基本组件。`Users.java`、`Roles.java`暗示了用户...
- **配置**:这是Spring Security配置中最核心的部分,通过`<http>`元素可以定义哪些URL需要进行身份验证和授权。`auto-config='true'`属性表示自动配置,简化了配置过程。`<intercept-url>`元素用于指定特定URL的...
Spring Security 2 配置精讲
在提供的压缩包`springsecurity配置demo`中,你将找到示例代码和详细说明,这将帮助你更好地理解和实践上述概念。通过学习和实践这些示例,你将能够为自己的Spring应用程序构建强大的安全防护。
在这个"Spring Security 项目配置源码"中,我们有机会深入理解这个框架如何在实际项目中配置和使用。下面将详细介绍Spring Security的核心概念、配置过程以及如何在Eclipse环境中运行该项目。 1. **核心概念** - *...
在本文中,我们将深入探讨Spring Security 3的配置文件,以及如何理解和使用这些配置来增强应用的安全性。 首先,Spring Security的配置通常位于一个或多个XML文件中,这些文件通过`<beans>`标签定义了安全相关的...
Spring Security 实践指南 ...* 高度可配置性:Spring Security 的配置项非常灵活,可以根据实际需求进行配置。 Spring Security 是一个功能强大且灵活的安全框架,广泛应用于 Java 应用开发中。
Spring Security 3 配置和使用 Spring Security 是一个强大且灵活的安全框架,旨在保护基于 Java 的 Web 应用程序。Spring Security 3 是 Spring Security 框架的第三个主要版本,提供了许多新的功能和改进。下面...
教程文档`教你使用_SpringSecurity_3.0_52页.pdf`会详细指导你如何一步步配置和使用Spring Security。它应该包含了配置文件的示例、如何集成到Spring应用中、如何创建自定义认证逻辑以及如何进行授权设置等内容。...
2. **中文翻译**:虽然官方文档为英文版,但也有热心网友将其翻译成了中文版,方便国内开发者阅读:[Spring Security 中文版](http://www.family168.com/tutorial/springsecurity/html/springsecurity.html)。...
2. **配置Web安全**:在`web.xml`中配置`DelegatingFilterProxy`,这将把HTTP请求委托给Spring Security的过滤器链。 ```xml <filter-name>springSecurityFilterChain <filter-class>org.springframework.web....
- **Java配置**:随着Spring Boot的发展,Spring Security也提供了Java配置方式,更易于理解和维护,通过`@EnableWebSecurity`和`WebSecurityConfigurerAdapter`的子类进行配置。 4. **Remember-Me服务**: - ...
详细的spring security2.x配置
Spring Security的配置灵活,可以通过XML配置文件、Java配置类或者注解来定制安全策略。它还提供了大量的扩展点,允许开发者根据自己的业务需求进行定制和扩展。 Spring Security的学习过程可以分为入门、进阶和...
### Spring Security 多登录页面配置详解 在许多大型企业级应用中,为了更好地实现权限管理和用户体验,往往会采用多个登录页面的方式来进行用户身份验证。这种方式能够有效地将不同类型的用户(如前台用户、后台...
4. **整合Spring Security与OAuth2**:在Spring Boot中,我们可以使用`spring-security-oauth2-autoconfigure`库来简化OAuth2的配置。通过设置`@EnableAuthorizationServer`和`@EnableResourceServer`注解,分别启动...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...