- 浏览: 326141 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xiaobojava:
把HessianOutput作为参数报:HessianOutp ...
将文件流组装到hessianOutPut里,远程上传文件使用 -
云峰飞:
问楼主formula这个属性在映射文件中的表查询其他的表数据都 ...
hibernate的formula -
mlin:
不错不错,今天我也遇到了上面提到的第一个问题,看到你的文章才解 ...
json-lib包笔记 -
775901421:
...
Lucene之Field -
limeiyong:
定义后怎么用?
hibernate自定义主键
[?xml version="1.0" encoding="UTF-8"?]
[!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"]
[beans]
[!---过滤器代理bean_1级-----------------------------------------------------------]
[!-- if you wish to use channel security, add "channelProcessingFilter," in front
of "httpSessionContextIntegrationFilter" in the list below --]
[!--FilterChainProxy是对FilterToBeanProxy的一个封装;该过滤器代理用来调度一下过滤器bean--]
[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,basicProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,switchUserProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor --]
/**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,concurrentSessionFilter,filterInvocationInterceptor
[/value]
[/property]
[/bean]
[!---以下是上面用到的几个过滤器_2级-----------------------------------------------]
[!--该过滤器是用来[Integration:综合;]把认证信息记录到Session中的;--]
[bean id="httpSessionContextIntegrationFilter"
class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"]
[property name="context"]
[value]org.acegisecurity.context.SecurityContextImpl[/value]
[/property]
[/bean]
[!--authenticationProcessingFilter处理登陆请求.当身份验证成功时,
AuthenticationProcessingFilter会在会话中放置一个Authentication对象,
并且重定向到登录成功页面--]
[bean id="authenticationProcessingFilter"
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter"]
[property name="authenticationManager"]
[ref bean="authenticationManager" /]
[/property]
[property name="authenticationFailureUrl"]
[value]/Login.html?login_error=1[/value]
[/property]
[property name="defaultTargetUrl"]
[value]/app/index.action[/value]
[/property]
[property name="filterProcessesUrl"]
[value]/j_acegi_security_check[/value]
[/property]
[/bean]
[!--RememberMeProcessingFilter是以cookie的形式来保存认证信息的.--]
[bean id="rememberMeProcessingFilter"
class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter"]
[property name="authenticationManager"]
[ref local="authenticationManager" /]
[/property]
[property name="rememberMeServices"]
[ref local="rememberMeServices" /]
[/property]
[/bean]
[!--anonymousProcessingFilter是在匿名的时候(这时候是没有认证信息的)给这个用户分配一个匿名的认证信息--]
[bean id="anonymousProcessingFilter"
class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter"]
[property name="key"]
[value]foobar[/value]
[/property]
[property name="userAttribute"]
[value]anonymousUser,ROLE_ANONYMOUS[/value]
[/property]
[/bean]
[!--exceptionTranslationFilter异常转换过滤器,
主要是处理AccessDeniedException和AuthenticationException,
将给每个异常找到合适的"去向" --]
[bean id="exceptionTranslationFilter"
class="org.acegisecurity.ui.ExceptionTranslationFilter"]
[property name="authenticationEntryPoint"]
[ref local="authenticationProcessingFilterEntryPoint" /]
[/property]
[/bean]
[!--该过滤器一般用来控制同一用户名只有一个人在线--]
[!-- fifth item in chain: ConcurrentSessionFilter --]
[bean id="concurrentSessionFilter"
class="org.acegisecurity.concurrent.ConcurrentSessionFilter"]
[property name="sessionRegistry"]
[ref local="sessionRegistry" /]
[/property]
[property name="expiredUrl"]
[value]/[/value]
[/property]
[/bean]
[!--ilterSecurityInterceptor拦截URL的类(实际上它算是个过滤器)--]
[!-- Note the order that entries are placed against the objectDefinitionSource is critical.
The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last --]
[bean id="filterInvocationInterceptor"
class="org.acegisecurity.intercept.web.FilterSecurityInterceptor"]
[property name="authenticationManager"]
[ref bean="authenticationManager" /]
[/property]
[property name="accessDecisionManager"]
[ref local="httpRequestAccessDecisionManager" /]
[/property]
[property name="objectDefinitionSource"]
[value]
PATTERN_TYPE_APACHE_ANT
/**/*.jpg=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/**/*.gif=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/**/*.png=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/**/*.css=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/**/*.js=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/remote/**=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/Login.html*=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/app/userRegInput.action*=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/app/validateRegInput.action*=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/app/agree.action*=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/app/actcodeValidation.action*=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/remoteclient/**=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/sysadmin/**=ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN
/**=ROLE_USER,ROLE_ADMIN
[/value]
[/property]
[/bean]
[!---以下是上面几个过滤器使用到的类_3级--------------------------------------------]
[!--认证管理器,用于认证ContextHolder中的Authentication对象。--]
[bean id="authenticationManager"
class="org.acegisecurity.providers.ProviderManager"]
[property name="providers"]
[list]
[ref local="daoAuthenticationProvider" /]
[ref local="anonymousAuthenticationProvider" /]
[ref local="rememberMeAuthenticationProvider" /]
[/list]
[/property]
[property name="sessionController"]
[ref bean="concurrentSessionController" /]
[/property]
[/bean]
[!-- 授权管理器 --]
[bean id="httpRequestAccessDecisionManager"
class="org.acegisecurity.vote.AffirmativeBased"]
[property name="allowIfAllAbstainDecisions"]
[value]false[/value]
[/property]
[property name="decisionVoters"]
[list]
[ref bean="roleVoter" /]
[/list]
[/property]
[/bean]
[bean id="rememberMeServices"
class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices"]
[property name="userDetailsService"]
[ref local="userSecurtyDetails" /]
[/property]
[property name="key"]
[value]springRocks[/value]
[/property]
[/bean]
[!-- 当抛出AccessDeniedException时,将用户重定向到登录界面。
属性loginFormUrl配置了一个登录表单的URL,当需要用户登录时,
authenticationProcessingFilterEntryPoint会将用户重定向到该URL --]
[bean id="authenticationProcessingFilterEntryPoint"
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint"]
[property name="loginFormUrl"]
[value]/Login.html[/value]
[/property]
[property name="forceHttps"]
[value]false[/value]
[/property]
[/bean]
[bean id="sessionRegistry"
class="org.acegisecurity.concurrent.SessionRegistryImpl" /]
[!---以下是被过滤器使用的类的关联的类_4级--------------------------------------------]
[bean id="daoAuthenticationProvider"
class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"]
[property name="userDetailsService"]
[ref local="userSecurtyDetails" /]
[/property]
[property name="userCache"]
[ref local="userCache" /]
[/property]
[!-- [property name="passwordEncoder"][ref local="passwordEncoder"/][/property]--]
[/bean]
[bean id="anonymousAuthenticationProvider"
class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider"]
[property name="key"]
[value]foobar[/value]
[/property]
[/bean]
[bean id="rememberMeAuthenticationProvider"
class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider"]
[property name="key"]
[value]springRocks[/value]
[/property]
[/bean]
[!-- ConcurrentSessionController 这个用来控制同一用户只有一个人登陆--]
[bean id="concurrentSessionController"
class="org.acegisecurity.concurrent.ConcurrentSessionControllerImpl"]
[property name="maximumSessions"]
[value]1[/value]
[/property]
[property name="sessionRegistry"]
[ref local="sessionRegistry" /]
[/property]
[/bean]
[bean id="userSecurtyDetails"
class="org.springframework.aop.framework.ProxyFactoryBean"]
[property name="target"]
[ref local="Authentication" /]
[/property]
[!-- property name="interceptorNames"]
[list]
[value]transactionInterceptor[/value]
[/list]
[/property --]
[/bean]
[!-- An access decision voter that reads AUTH_* configuration settings --]
[bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter"]
[!-- set that this voter can only used for AUTH_ started roles! --]
[/bean]
[!---以下是第4级关联的类_5级------------------------------------------------]
[bean id="userCache"
class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache"]
[property name="cache"]
[ref local="userCacheBackend" /]
[/property]
[/bean]
[!--我们自定义的AuthenticationProvider类实现了UserDetailsService接口,该接口由acegi提供,该接口就声明了一个抽象方法
loadUserByUsername(String userName)throws UsernameNotFoundException, DataAccessException;该方法返回
UserDetails类型 --]
[bean id="Authentication"
class="cn.com.s520.leopard.framework.authority.AuthenticationProvider"]
[property name="userdao"]
[ref bean="userMemberDAO" /][!-- 这里是引用外部的bean --]
[/property]
[/bean]
[!---以下是第5级关联的类_6级---------------------------------------------]
[bean id="userCacheBackend"
class="org.springframework.cache.ehcache.EhCacheFactoryBean"]
[property name="cacheManager"]
[ref local="cacheManager" /]
[/property]
[property name="cacheName"]
[value]userCache[/value]
[/property]
[/bean]
[!---以下是第6级关联的类_7级------------------------------------------]
[bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" /]
[!---以下是acegi提供的工具类,以上bean暂时没用到,我放到这里--------------------------------]
[!-- 密码加密 --]
[bean id="passwordEncoder"
class="org.acegisecurity.providers.encoding.Md5PasswordEncoder" /]
[/beans]
发表评论
-
Acegi中Session并发和RememberMe冲突问题解决方法
2007-07-24 09:37 2988这个问题着实让我费了好大功夫,本来想放弃Rememberme功 ... -
acegi拾遗
2007-07-06 13:08 1787认证后,用户名保存到这里: 这个是从session获取用户名. ... -
acegi过滤器的顺序
2007-07-05 13:59 2004The order that filters are defi ... -
acegi用session控制并发和RememberMe的冲突问题
2007-06-01 10:34 2611首先先介绍一下怎么使用这些服务 1,rememberMe服务 ... -
自定义acegi的Authentication对象
2007-05-21 14:43 2401项目中有时需要自己定义一下acegi的Authenticati ... -
对我们平台部署cas的评估和我个人想到的解决方式
2007-05-19 09:42 2358具体考察了一下cas方面的资料,感觉不太适合我们的平台.利用c ... -
CAS单点登陆实践-1:创建x.509证书
2007-05-17 10:42 4601准备x.509证书 首先要下载openssl,我的是win3 ... -
acegi中投票的概念
2007-03-02 16:34 2475Acegi中投票策略分为三种 1:[b][b]org.ace ...
相关推荐
Acegi 是一个在Java开发领域,特别是Spring框架中曾经广泛使用的安全组件,全称为Acegi Security。这个系统为Spring应用程序提供了全面的安全管理解决方案,包括身份验证、授权、会话管理以及安全事件处理等功能。...
- **学习曲线**:对于初次接触的开发者而言,Acegi的复杂性和灵活性可能会带来较高的学习成本。 #### 结论 Acegi安全框架凭借其独特的设计和高度的灵活性,成为了Spring框架下处理安全问题的强大工具。通过深入...
不错的ACEGI 教程
【Acegi框架介绍 acegi安全与认证】 Acegi Security,现称为Spring Security,是一个强大的安全框架,主要用于基于Spring的企业级应用。它通过Spring的依赖注入(IoC)和面向切面编程(AOP)功能,提供了声明式的...
AceGI,全称为Acegi Security,是Java领域中一个用于Spring框架的安全组件,它提供了全面的身份验证、授权和会话管理功能。这个框架在早期的Spring版本中非常流行,为开发者构建安全的Web应用程序提供了强大的支持。...
Spring Acegi是一个安全框架,它为Spring应用提供了一套强大的身份验证和授权机制。这个框架在Spring Security(之前称为Spring Security)之前被广泛使用。在本文中,我们将深入探讨Spring Acegi的核心概念、功能和...
Acegi是Spring Security的前身,它是一个用于Java企业级应用的安全框架,提供了全面的身份验证、授权和会话管理功能。这个压缩包包含了Acegi的示例代码和一个学习资源,对于初学者来说是非常宝贵的资料。 首先,让...
Acegi是一个专门为SpringFramework应用提供安全机制的开放源代码项目,全称为Acegi Security System for Spring,当前版本为 0.8.3。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和...
在Web应用中,当用户尝试登录时,系统会验证提供的凭证是否匹配数据库中的记录。 - **授权**:是指确定已认证的用户可以访问哪些资源或执行哪些操作的过程。这通常基于角色分配,即用户拥有特定的角色,每个角色有一...
Acegi-Spring安全框架是一个专为基于Spring的企业应用设计的安全框架,现在被称为Spring Security。它提供了声明式的安全访问控制,允许开发者在Spring容器中配置安全相关的Bean,利用Spring的依赖注入(IoC)和面向...
Acegi 是一个强大的 Java 安全框架,专用于系统安全编程,尤其在处理认证和授权方面表现出色。在本文中,我们将深入探讨 Acegi 的基本概念、如何设置以及它如何与 Spring 框架集成。 首先,让我们了解 Acegi 的核心...
acegi-security 1.0.2.jar
包含acegi-security-1.0.7.jar,acegi-security-1.0.7-sources.jar,acegi-security-cas-1.0.7.jar,acegi-security-cas-1.0.7-sources.jar,acegi-security-catalina-1.0.7.jar,acegi-security-catalina-1.0.7-...
在用户通过认证和授权之后,运行时身份管理器可能会执行一些额外的操作,例如记录活动、更新会话状态等。最后,如果所有安全检查都通过,用户就能访问受保护的资源。 Acegi 的核心组件协同工作,构建了一个强大的...
Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全...
acegi,spring的安全验证框架
Spring Acegi是一个安全框架,它为Spring应用提供了全面的安全管理功能。这个"spring acegi 使用工程demo"显然是一个示例项目,旨在帮助开发者理解和实践如何在Spring应用中集成和使用Acegi安全框架。 首先,Acegi...
AceGI安全策略与CAS(Central Authentication Service)整合是企业级应用中常见的安全解决方案,它能够为Web应用程序提供统一的身份验证和授权服务。本文档旨在详细阐述这一整合过程,包括配置步骤、所需资源以及...
Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全...