- 浏览: 43703 次
- 性别:
- 来自: 北京
最新评论
-
yxl2005play:
不支持多个文件(多个<input type=" ...
JAVA上传文件进度条的实现 -
clarck_913:
您好,我看了你附件里的代码
有点疑问。
第一,web.xm ...
JAVA上传文件进度条的实现
Acegi配置总结
1、 在web.xml中配置contextConfigLocation,并且配置acegi filter chain即过滤器链
例如:
<!—配置过滤器链-->
<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>
<!--将事物提交给web applicationContext-->
<listener>
<listener-class>org.acegisecurity.ui.session.HttpSessionEventPublisher</listener-class>
</listener>
<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>
<!--将事物提交给web applicationContext-->
<listener>
<listener-class>org.acegisecurity.ui.session.HttpSessionEventPublisher</listener-class>
</listener>
2、在applicationContext-acegi.xml中配置
1-配置过滤器链
<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
<!--配置过滤器链的内容及其执行顺序-->
<property name="filterInvocationDefinitionSource">
<value><![CDATA[
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,basicProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,switchUserProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
]]></value>
</property>
</bean>
<!--配置过滤器链的内容及其执行顺序-->
<property name="filterInvocationDefinitionSource">
<value><![CDATA[
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,basicProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,switchUserProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
]]></value>
</property>
</bean>
另外,从某论坛上看到,如果配置文件中出现<>""等字符时除了可以用html符号外还可以用<![CDATA[ ]]> 来包含配置信息
2-
<!--最先要配置的过滤器,用于提供安全上下文实例-->
<bean id="httpSessionContextIntegrationFilter"
class="org.acegisecurity.context.HttpSessionContextIntegrationFilter" />
<bean id="httpSessionContextIntegrationFilter"
class="org.acegisecurity.context.HttpSessionContextIntegrationFilter" />
3-
<!-- 登出过滤器 -->
<bean id="logoutFilter"
class="org.acegisecurity.ui.logout.LogoutFilter">
<constructor-arg value="/logoutSuccess.jsp" />
<constructor-arg>
<list>
<bean
class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" />
</list>
</constructor-arg>
</bean>
<bean id="logoutFilter"
class="org.acegisecurity.ui.logout.LogoutFilter">
<constructor-arg value="/logoutSuccess.jsp" />
<constructor-arg>
<list>
<bean
class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" />
</list>
</constructor-arg>
</bean>
4-
<!-- 登陆验证过滤器 -->
<bean id="authenticationProcessingFilter"
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
<!-- 验证管理器 -->
<property name="authenticationManager"
ref="authenticationManager" />
<!-- 验证失败后跳转到的页面 -->
<property name="authenticationFailureUrl"
value="/login.jsp?login_error=1" />
<!--登陆成功时跳转到的页面-->
<property name="defaultTargetUrl"
value="/index.jsp"/>
<property name="filterProcessesUrl"
value="/j_acegi_security_check" />
</bean>
<bean id="authenticationProcessingFilter"
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
<!-- 验证管理器 -->
<property name="authenticationManager"
ref="authenticationManager" />
<!-- 验证失败后跳转到的页面 -->
<property name="authenticationFailureUrl"
value="/login.jsp?login_error=1" />
<!--登陆成功时跳转到的页面-->
<property name="defaultTargetUrl"
value="/index.jsp"/>
<property name="filterProcessesUrl"
value="/j_acegi_security_check" />
</bean>
5-
<!--配置验证管理器-->
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
<property name="providers"><!--提供者属性-->
<list><!--配置其依赖的DAO-->
<ref local="daoAuthenticationProvider"/><!--基于数据库提供验证-->
<ref local="PasswordDaoAuthenticationProvider"/><!--基于数据库提供验证,但让底层的数据源完成实际的身份验证。-->
<ref local="anonymousAuthenticationProvider"/><!--匿名验证-->
<ref local="rememberMeAuthenticationProvider"/><!--再次登陆时从缓存中验证-->
</list>
</property>
</bean>
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
<property name="providers"><!--提供者属性-->
<list><!--配置其依赖的DAO-->
<ref local="daoAuthenticationProvider"/><!--基于数据库提供验证-->
<ref local="PasswordDaoAuthenticationProvider"/><!--基于数据库提供验证,但让底层的数据源完成实际的身份验证。-->
<ref local="anonymousAuthenticationProvider"/><!--匿名验证-->
<ref local="rememberMeAuthenticationProvider"/><!--再次登陆时从缓存中验证-->
</list>
</property>
</bean>
6-
<!--数据提供者-->
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService"><ref local="jdbcDaoImpl"/></property>
<property name="userCache"><ref local="userCache"/></property><!-- 用户缓存,可选 -->
<property name="passwordEncoder"><ref local="passwordEncoder"/></property><!--密码加密,可选-->
</bean>
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService"><ref local="jdbcDaoImpl"/></property>
<property name="userCache"><ref local="userCache"/></property><!-- 用户缓存,可选 -->
<property name="passwordEncoder"><ref local="passwordEncoder"/></property><!--密码加密,可选-->
</bean>
7
<!--配置用户缓存,可选-->
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
<bean id="userCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>userCache</value>
</property>
</bean>
<bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
<property name="cache"><ref local="userCacheBackend"/></property>
</bean>
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
<bean id="userCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>userCache</value>
</property>
</bean>
<bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
<property name="cache"><ref local="userCacheBackend"/></property>
</bean>
8-
<--密码加密,可选,共3种方式-->
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.PlaintextPasswordEncoder"/><!--不加密,默认-->
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/><!--MD5加密-->
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.SHAPasswordEncoder"/><--SHA加密-->
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.PlaintextPasswordEncoder"/><!--不加密,默认-->
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/><!--MD5加密-->
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.SHAPasswordEncoder"/><--SHA加密-->
9-
<!--配置jdbcDaoImpl-->
<bean id="jdbcDaoImpl" class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
<bean id="jdbcDaoImpl" class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
10-配置DateSource
DateSource自己会配置吧~~那啥,我就不说了
本贴个人原创,如有不正确之处,请指正......
发表评论
-
Hibernate主键生成方式(转)
2008-01-29 22:05 5421) assigned 主键由外部程序负责生成,无需Hibe ... -
实现JSP页面自动跳转
2008-01-30 22:01 838HTML里增加: <meta http-e ... -
JAVA中的接口和抽象类(转)
2008-03-11 17:31 650在面向对象的概念中, ... -
JAVA错误处理大集合
2008-03-15 17:19 7700、 需要标识符 a) 不在 ... -
强!!!
2008-04-01 17:51 688Java视频教程 孙鑫Java无难事 (全12CD) http ... -
字符转换 dos 命令 JDK自带的native2ascii工具完全揭密
2008-07-14 17:27 854背景:在做Java开发的时 ... -
Acegi安全系统的配置
2008-07-17 00:42 683Acegi 的配置看起来非常复杂,但事实上在实际项目的安全应用 ... -
关于Struts处理异常框架的小例子
2008-07-30 17:15 750下午搞了一下Struts处理异常的框架,不错,确实很 ... -
利用commons upload+ffmpeg+mencoder完成视频的上传与转换
2008-07-31 16:41 700前一段时间朱哥一直在搞视频转换这个东东,我也一直很有 ... -
关于Struts的Token
2008-08-01 12:07 682请求有效性处理,使用令牌可以有效的防止重复提交。 protec ... -
六大代码问题检验你的JAVA知识(转)
2008-08-01 15:57 733你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了J ... -
Spring Security连接数据库查询实例
2008-08-04 00:46 898经过若干天断断续续地研究,终于做出了第一个sprin ... -
JAVA md5、SHA加密类
2008-08-04 20:25 862Code<!--<br /><br ... -
Hibernate获取数据方式与缓存使用
2008-08-16 11:03 671Hibernate获取数据的方式有不同的几种,其与缓存结合使用 ... -
使用AjaxTags实现自动完成
2008-09-22 09:42 1121最近搞的一个通讯录想要加一个Ajax的自动完成功能, ... -
Struts2&Jquery 新闻发布
2009-03-16 17:48 1009又一个新闻发布......比以前的更加人性化了,用到了Stru ... -
JAVA实现精确的加减乘除
2009-05-20 17:13 1130package lc.util; import java.ma ... -
JAVA上传文件进度条的实现
2009-08-03 19:46 5197很久不在这里发帖子了,最近在家闲来无事,想到转视频的那东西又要 ... -
利用commonsfileupload+ffmpeg+mencoder完成视频的上传与转换(2)
2009-08-04 17:45 955这两天完善了一下视频 ... -
利用commons upload+ffmpeg+mencoder完成视频的上传与转换
2008-07-31 16:41 917前一段时间朱哥一直在搞视频转换这个东东,我也一直很有 ...
相关推荐
总结来说,Acegi 配置涉及的主要步骤是:在 `web.xml` 中配置 Acegi 过滤器代理,然后在 `acegi.xml` 中定义过滤器链,包括认证、授权和异常处理等核心组件。这样的配置使得 Acegi 能够在每次请求时检查用户的身份和...
本文将深入探讨如何在Acegi配置文件中集成LDAP服务,以实现高效的用户身份验证和权限管理。 **LDAP简介** LDAP是一种轻量级目录访问协议,用于存储和检索分布式目录服务中的数据。它被广泛用于存储用户账户信息、...
总结,Acegi Security提供了全面的Web安全解决方案,通过详细的配置和代码实现,我们可以确保应用程序的安全性。`spring_security.sql`和`acegiTest`文件是这个过程的重要组成部分,分别负责数据存储和功能验证。...
总结起来,Spring Acegi是一个强大的安全框架,它的功能包括用户认证、权限控制和安全拦截。通过理解其核心组件和配置机制,你可以有效地保护Spring应用,确保只有授权的用户能访问敏感资源。如果你正在处理一个使用...
1. **Acegi例子代码**:这个例子代码可能包含了一个简单的Spring应用,演示了如何配置和使用Acegi进行安全控制。通过运行此示例,你可以了解Acegi的配置过程以及如何在实际应用中集成。 2. **学习网址**:提供了一...
总结来说,CAS和Acegi的结合使用提供了一种强大且灵活的SSO解决方案。CAS处理用户认证,而Acegi则负责在客户端应用中的授权。理解并成功实施这一配置,不仅需要对SSO原理有所了解,还需要掌握Spring框架和数据库集成...
"浅谈Acegi配置 - Spring - Java - JavaEye论坛.mht"很可能深入讨论了Acegi的配置细节,包括如何设置安全性过滤器链,配置不同的访问控制策略,以及如何处理异常情况。在Acegi中,配置是非常关键的,因为它定义了...
总结,Acegi Security 1.0.7作为Spring框架的重要补充,为企业级应用的安全保驾护航。通过深入理解和合理运用其特性,开发者可以构建出符合安全标准且用户体验良好的应用程序。在实际开发过程中,需要根据项目需求...
总结来说,本实战教程将引导你深入了解如何利用Acegi Security为Spring框架的Web应用添加安全防护,包括用户认证、授权、会话管理等多个方面。虽然Acegi Security已被Spring Security取代,但其核心理念和实践方法...
总结来说,Acegi Security(现Spring Security)是构建安全Spring应用的重要工具,通过详细的配置和编程接口,开发者可以定制化地实现复杂的安全需求。结合"acegi-sample.war"和"实战Acegi:使用Acegi作为基于Spring...
- **高度可配置性**:Acegi Security System for Spring允许开发者通过XML配置文件或Java配置类来定制安全策略。 - **强大的认证机制**:支持多种认证方式,包括但不限于基于用户名/密码的认证、基于证书的认证等...
Acegi安全框架为Spring应用提供了全面的安全保护方案,通过灵活配置上述核心组件,开发者可以轻松实现不同层次的安全控制,确保应用程序的安全性和稳定性。无论是Web层的安全防护还是业务逻辑层的方法调用控制,...
Spring ACEGI是Spring Security的前身,它是一个强大的、高度可配置的安全框架,专为Java企业级应用设计。这个框架旨在提供全面的身份验证、授权和服务层安全功能,允许开发者轻松地在Spring应用中实现复杂的安全...
总结起来,Acegi Security为J2EE应用提供了一套强大且灵活的安全框架,它通过丰富的配置选项和扩展点,使得开发者能够根据实际需求构建出安全的Web应用程序。虽然Acegi Security已被Spring Security取代,但其设计...
1. `AcegiGrailsPlugin.groovy`:这是Grails插件的核心配置文件,它定义了插件的元数据、依赖项、安装和卸载时的钩子函数等,是插件生命周期管理的关键。 2. `application.properties`:这个文件用于存储应用的属性...
总结来说,Acegi Security Tiger 1.0.7是Java Web开发中一个强大的安全框架,提供了全面的身份验证、授权和其他安全服务,为开发者构建安全的应用程序提供了便利。然而,需要注意的是,Acegi Security已经被Spring ...
为了在Tomcat服务器上运行,你需要确保Tomcat版本与Acegi兼容,并且正确地设置了`WEB-INF/web.xml`中的Spring和Acegi配置。这通常包括定义Spring的上下文加载器监听器,以及Acegi的安全过滤器链。在部署时,只需将...
Acegi的配置主要分为两个部分:**web.xml中的过滤器配置** 和 **Acegi安全文件的配置**。 ##### 1. web.xml中的过滤器配置 在web.xml文件中,Acegi通过FilterToBeanProxy实现了对过滤器的配置。这种配置方式的主要...