`

Sping acegi 配置文件

阅读更多

applicationContext-acegi-security.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<!--
    - A simple "base bones" Acegi Security configuration.
    -
    - The sample includes the "popular" features that people tend to use.
    - Specifically, form authentication, remember-me, and anonymous processing.
    - Other features aren't setup, as these can be added later by inserting
    - the relevant XML fragments as specified in the Reference Guide.
    -
    - To assist new users, the filters specified in the FilterChainProxy are
    - declared in the application context in the same order. Collaborators
    - required by those filters are placed at the end of the file.
    -
    - $Id: applicationContext-acegi-security.xml,v 1.2 2007/04/06 10:16:01 zhangxiaofeng Exp $
-->

<beans>

    <bean id="filterChainProxy"
        class="org.acegisecurity.util.FilterChainProxy">
        <property name="filterInvocationDefinitionSource">
            <value>
                CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                PATTERN_TYPE_APACHE_ANT
                /**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
            </value>
        </property>
    </bean>

    <bean id="httpSessionContextIntegrationFilter"
        class="org.acegisecurity.context.HttpSessionContextIntegrationFilter" />

    <bean id="logoutFilter"
        class="org.acegisecurity.ui.logout.LogoutFilter">
        <constructor-arg value="https://10.100.2.12:8443/cas/logout" />
        <!-- URL redirected to after logout -->
        <constructor-arg>
            <list>
                <ref bean="rememberMeServices" />
                <bean
                    class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" />
            </list>
        </constructor-arg>
    </bean>

    <bean id="authenticationProcessingFilter"
        class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
        <property name="authenticationManager">
            <ref local="authenticationManager" />
        </property>
        <property name="authenticationFailureUrl">
            <value>/acegilogin.jsp?login_error=1</value>
        </property>
        <property name="defaultTargetUrl">
            <value>/</value>
        </property>
        <property name="filterProcessesUrl">
            <value>/j_acegi_security_check</value>
        </property>
    </bean>

    <bean id="securityContextHolderAwareRequestFilter"
        class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter" />

    <bean id="rememberMeProcessingFilter"
        class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
        <property name="authenticationManager"
            ref="authenticationManager" />
        <property name="rememberMeServices" ref="rememberMeServices" />
    </bean>

    <bean id="anonymousProcessingFilter"
        class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
        <property name="key" value="changeThis" />
        <property name="userAttribute"
            value="anonymousUser,ROLE_ANONYMOUS" />
    </bean>

    <bean id="exceptionTranslationFilter"
        class="org.acegisecurity.ui.ExceptionTranslationFilter">
        <property name="authenticationEntryPoint">
            <bean id="casProcessingFilterEntryPoint"
                class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
                <property name="loginFormUrl">
                    <value>/index.jsp</value>
                </property>
            </bean>
        </property>
        <property name="accessDeniedHandler">
            <bean
                class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
                <property name="errorPage" value="/index.jsp" />
            </bean>
        </property>
    </bean>

    <bean id="filterInvocationInterceptor"
        class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
        <property name="authenticationManager"
            ref="authenticationManager" />
        <property name="accessDecisionManager">
            <bean class="org.acegisecurity.vote.AffirmativeBased">
                <property name="allowIfAllAbstainDecisions"
                    value="false" />
                <property name="decisionVoters">
                    <list>
                        <bean class="org.acegisecurity.vote.RoleVoter" />
                        <bean
                            class="org.acegisecurity.vote.AuthenticatedVoter" />
                    </list>
                </property>
            </bean>
        </property>
        <property name="objectDefinitionSource">
            <value>
                CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                PATTERN_TYPE_APACHE_ANT 
                /finance/index.jsp = ROLE_NORMAL
            </value>
        </property>
    </bean>

    <bean id="rememberMeServices"
        class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
        <property name="userDetailsService" ref="inMemoryDaoImpl" />
        <property name="key" value="changeThis" />
    </bean>

    <bean id="authenticationManager"
        class="org.acegisecurity.providers.ProviderManager">
        <property name="providers">
            <list>
                <ref local="daoAuthenticationProvider" />
            </list>
        </property>
    </bean>
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
  <property name="userDetailsService"><ref bean="inMemoryDaoImpl"/></property>
</bean>   
        
    <bean id="inMemoryDaoImpl"
        class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
        <property name="userMap">
            <value>
                admin=1234,ROLE_NORMAL
                dianne=emu,ROLES_IGNORED_BY_CAS
                scott=wombat,ROLES_IGNORED_BY_CAS
                peter=opal,disabled,ROLES_IGNORED_BY_CAS
            </value>
        </property>
    </bean>



    <!-- This bean is optional; it isn't used by any other bean as it only listens and logs -->
    <bean id="loggerListener"
        class="org.acegisecurity.event.authentication.LoggerListener" />

</beans>

 

web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/applicationContext-finance.xml,/WEB-INF/classes/applicationContext-acegi-security.xml</param-value>
  </context-param>
    
    <filter>
        <filter-name>Acegi Filter Chain Proxy</filter-name>
        <filter-class>
            org.acegisecurity.util.FilterToBeanProxy
        </filter-class>
        <init-param>
            <param-name>targetClass</param-name>
            <param-value>
                org.acegisecurity.util.FilterChainProxy
            </param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>Acegi Filter Chain Proxy</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

分享到:
评论

相关推荐

    spring acegi 详细文档

    在Spring Acegi中,安全配置通常通过XML配置文件完成,但也可以使用注解进行简化。配置包括定义访问控制规则、配置认证和授权策略,以及设置安全过滤器链。 例如,以下是一个简单的XML配置示例,定义了一个URL访问...

    Spring Acegi权限控制

    在配置文件`acegi-security.xml`中,我们需要定义这些组件以及它们之间的关系。例如,我们可能会配置一个`DaoAuthenticationProvider`来处理数据库中的用户认证,并设置`ProviderManager`来管理多个认证提供者。同时...

    Spring acegi 3 文档

    在提供的压缩包文件中,可能包含了 Spring Acegi 3 的官方文档,这将帮助开发者深入理解框架的工作原理和使用方法。文档通常会涵盖安装指南、配置示例、API 参考等内容,对于学习和使用 Spring Acegi 3 极为重要。...

    spring Acegi例子,很简单的一个acegi实例,容易理解

    1. 创建Spring配置文件,引入Acegi相关的bean定义,如`FilterSecurityInterceptor`、`AuthenticationProvider`等。 2. 配置URL安全规则,如哪些URL需要身份验证,哪些URL仅对特定角色开放。 3. 实现自定义的`...

    spring acegi 使用工程demo

    3. **配置**:在Spring配置文件中,我们需要定义`&lt;security:global-method-security&gt;`来启用Acegi,然后配置`&lt;security:http&gt;`元素来设置URL过滤规则,如登录页面、访问权限等。 4. ** acegi.sql**:这个文件可能...

    Spring ACEGI手册(部份)

    在Spring ACEGI中,安全配置主要通过XML配置文件完成。以下是一些关键元素: - `&lt;security:http&gt;`:定义安全行为,如启用登录页面、CSRF保护、URL过滤规则等。 - `&lt;security:authentication-manager&gt;`:配置认证...

    Spring Acegi

    2. **配置 Spring 安全上下文**:创建 XML 配置文件,定义认证和授权规则。 3. **安全过滤器链**:配置 FilterSecurityInterceptor,指定哪些 URL 需要进行安全拦截。 4. **定义认证和授权策略**:例如,创建...

    ldap与Acegi? ----Acegi配置文件解剖

    本文将深入探讨如何在Acegi配置文件中集成LDAP服务,以实现高效的用户身份验证和权限管理。 **LDAP简介** LDAP是一种轻量级目录访问协议,用于存储和检索分布式目录服务中的数据。它被广泛用于存储用户账户信息、...

    spring的acegi应用

    标题“spring的acegi应用”指的是在Spring框架中使用Acegi安全模块进行权限管理和用户认证的一个主题。Acegi是Spring早期的一个安全组件,后来发展成为Spring Security,是Spring生态系统中的重要部分,用于提供全面...

    基于spring的Acegi安全框架认证与授权的分析及扩展.pdf

    由于Acegi默认配置文件策略可能无法满足所有场景下的需求,尤其是在需要动态调整用户权限的情况下。为了解决这一问题,可以采用基于数据库的策略来进行动态扩展。 - **基于数据库的策略**: 1. 将权限信息存储在...

    Spring的ACEGI的应用

    然后,在Spring配置文件中,通过`&lt;bean&gt;`标签引入Acegi的安全组件,如`AuthenticationManager`、`SecurityContextHolderStrategy`等。 **3. 认证机制** Acegi Security支持多种认证方式,包括基于表单的登录、HTTP...

    Acegi配置指南[整理].pdf

    最后,配置文件中还提到了各个过滤器对应的 Spring Bean。这些 Bean 之间的关系可以用 Spring 的依赖图来表示,每个 Bean 都有自己的职责,共同协作实现 Acegi 的安全功能。 总结来说,Acegi 配置涉及的主要步骤是...

    acegi在spring中的完整配置

    随着 Spring Security 的发展,Acegi 已被 Spring Security 继承并进一步增强,但理解 Acegi 在 Spring 中的配置仍然对理解 Spring Security 的工作原理有所帮助。 在 Spring 中配置 Acegi,主要涉及以下几个关键...

    实战Acegi:使用Acegi作为基于Spring框架的WEB应

    在实际应用中,我们首先需要在Spring配置文件中定义Acegi Security的相关bean,如`AuthenticationManager`、`FilterSecurityInterceptor`等。然后,我们可以使用`&lt;security:intercept-url&gt;`标签来定义URL的安全策略...

    使用Acegi作为基于Spring框架的WEB应用的安全框架

    在Spring应用中,通过XML配置文件设置Acegi Security。主要配置包括: - ****:定义认证管理器,处理用户认证过程。 - ****:定义URL模式与相应的访问权限。 - ****:配置HTTP安全设置,如CSRF保护、登录URL等。 - *...

    acegi

    - "aopacegi"可能是一个包含Acegi与AOP相关配置或实现的文件,可能涉及切面的定义和安全策略的配置。 Acegi Security在过去的开发实践中扮演了重要角色,它的设计理念和实现方式对后来的安全框架产生了深远影响。...

    Acegi配置指南

    然后,在Spring的配置文件(如`acegi.xml`)中,需要定义`filterChainProxy` Bean,它定义了过滤器链的顺序和职责: ```xml &lt;bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy"&gt; ...

Global site tag (gtag.js) - Google Analytics