`
40020072
  • 浏览: 72590 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

acegi2.0的学习。

阅读更多

    今天看到appfuse2.0.2里acegi的配置文件非常奇怪,到appfuse官网查看原来将appfuse2.0.2包含的acegi1.0升级到了acegi2.0 ,同1.0比起变化很大,名称也改为spring security2.0.下面是简单配置使用步骤

 

 

   1、第一件事是把下面的filter声明添加到 web.xml 文件中:

<filter> 
<filter-name>springSecurityFilterChain</filter-name> 
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
<filter-name>springSecurityFilterChain</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping> 

 

    2.配置信息都放到application-security.xml里(名称可改),要加上命名空间

    

<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-2.0.xsd
              http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.2.xsd">
    ...
</beans:beans>

 3、其次为路径,地址增加权限。

<intercept-url pattern="/**" access="ROLE_USER" />

 这表示,我们要保护应用程序中的所有URL,只有拥有 ROLE_USER角色的用户才能访问。

例如:

<http auto-config="true" lowercase-comparisons="false">
        <!--intercept-url pattern="/images/*" filters="none"/>
        <intercept-url pattern="/styles/*" filters="none"/>
        <intercept-url pattern="/scripts/*" filters="none"/-->
        <intercept-url pattern="/admin/*" access="ROLE_ADMIN"/>
        <intercept-url pattern="/passwordHint.html*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER"/>
        <intercept-url pattern="/signup.html*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER"/>
        <intercept-url pattern="/a4j.res/*.html*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER"/>
        <!-- APF-737, OK to remove line below if you're not using JSF -->
        <intercept-url pattern="/**/*.html*" access="ROLE_ADMIN,ROLE_USER"/>
        <form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?error=true" login-processing-url="/j_security_check"/>
        <remember-me user-service-ref="userDao" key="e37f4b31-0c45-11dd-bd0b-0800200c9a66"/>
    </http>

  

4、  指定数据库 和 密码加密

  <authentication-provider user-service-ref="userDao">
        <password-encoder ref="passwordEncoder"/>
    </authentication-provider>

 5、方法授权

<global-method-security>
        <protect-pointcut expression="execution(* *..service.UserManager.getUsers(..))" access="ROLE_ADMIN"/>
        <protect-pointcut expression="execution(* *..service.UserManager.removeUser(..))" access="ROLE_ADMIN"/>
    </global-method-security>

 

6、Session控制
Acegi2.0 的session 控制真是简单,只能用简单得一米来形容J
首先在web.xml 中加个Listener:

 

<listener>
<listener-class>
org.springframework.security.ui.session.HttpSessionEventPublisher
</listener-class>
</listener>

 

 然后在application-security.xml 中配置规则:

 

<http>
<concurrent-session-control max-sessions="1" />
</http>

 或

<http>
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true" />
</http>

  
解释说明:两个配置都只允许用户登录一次,exception-if-maximum-exceeded 默认为false,此值表示:
用户第二次登录时,前一次的登录信息都被清空。当exception-if-maximum-exceeded="true"时系统会拒
绝第二次登录。

分享到:
评论
2 楼 yangb2008 2008-07-29  
通常这些授权信息都是保存在数据库里的,那配置文档应该如何实现呢?
1 楼 volking 2008-06-23  
这样的方法授权有点麻烦
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    acegi2.0

    **Spring Security 2.0(Acegi 2.0)详解** Spring Security,原名Acegi Security,是Spring框架的一个扩展,专为Java应用程序提供全面的安全性解决方案。它提供了强大的功能,包括身份验证、授权、会话管理以及...

    acegi2.0文档

    有兴趣的欢迎来群:41229007 共同学习

    最新ACEGI2.0教程

    ### 最新ACEGI2.0教程 #### 一、引言与基础知识 ##### 1.1 什么是Spring Security? Spring Security(曾用名Acegi Security System for Spring)为基于Spring框架构建的企业级应用提供强大而灵活的安全解决方案...

    acegi——笔记学习

    在2008年,Acegi被整合到Spring Security(原名Spring Security 2.0)中,成为其核心组件,因此现在我们更多地谈论Spring Security而不是单独的Acegi。然而,理解Acegi对于熟悉早期Spring Security系统的设计思路...

    学习Acegi-认证 文档

    ### Acegi认证服务详解 #### 一、Acegi简介与背景 Acegi是Spring Security的前身,是一款基于Spring框架的安全管理工具,旨在为应用程序提供安全控制...希望本文能够为正在学习或使用Acegi的同学提供有价值的参考。

    acegi结合ssh实用列子

    通过这个"acegi结合ssh实用列子",你可以学习到如何将Acegi的高级安全特性与SSH框架无缝集成,从而提高应用的安全性。实践中,应根据项目需求调整配置,灵活运用Acegi的各种组件,以达到最佳的安全效果。同时,不断...

    收集的一些ACEGI 资料

    自从Spring Security(以前称为Spring-Security或Acegi Security 2.0)发布以来,它已经成为了ACEGI的继承者。Spring Security继承了ACEGI的优点,并增加了更多的特性,如支持OAuth、JWT和SAML等现代安全标准。 6....

    acegi-security-0.8.2.jar.zip

    7. **许可证信息**: “springframework-license.txt”文件通常包含了软件的许可证条款,对于Acegi Security 0.8.2来说,这可能是Apache Software License 2.0,这是一个宽松的开源许可证,允许商业和非商业用途。...

    acegi-security-0.8.1.1.jar.zip

    Acegi Security是一个历史悠久的安全框架,主要用于Java平台,尤其在Spring框架的...尽管Acegi Security已经被Spring Security替代,但对于理解早期Spring生态的安全实践,以及学习历史版本的代码,仍具有一定的价值。

    Spring acegi 3 文档

    虽然 Acegi 已经被 Spring Security(自 Spring 2.0 版本起)所取代,但 Spring Acegi 3 在当时依然是许多项目中的首选安全组件。 **身份验证** 在 Spring Acegi 3 中,身份验证过程是核心功能之一。它支持多种...

    Acegi中文参考手册

    尽管Acegi已经被Spring Security(自Spring 2.0版本起)所取代,但它在许多旧项目中仍然被广泛使用,因此理解其工作原理和特性仍然是必要的。 1. **身份验证**:Acegi 提供了多种身份验证机制,包括基于密码的认证...

    acegi安全框架例子

    尽管Acegi安全框架非常强大,但请注意,自Spring Security 2.0起,Acegi已被Spring Security所取代。尽管如此,学习Acegi仍能帮助理解Spring Security的基础概念和设计模式,因为两者的核心思想是一致的。在实际开发...

    spring 2.0 技术手册

    10. **Spring Security**:虽然不在Spring 2.0核心框架内,但这个版本已经预示了Spring Security(以前称为Acegi Security)的发展,提供了一整套的安全认证和授权解决方案。 以上只是《Spring 2.0 技术手册》中...

    acegi-security-0.5.jar.zip

    - **学习曲线**:虽然Acegi Security提供了强大的功能,但其配置相对复杂,需要花费时间去理解和学习。 - **文档和社区**:由于Acegi Security已经不再维护,开发者可能需要查阅旧的文档和社区资源来解决问题。 ...

    acegi-security-catalina-server.jar.zip

    Acegi Security遵循的许可协议可能是Apache License 2.0或其他开源许可证,这允许开发人员在商业项目中自由使用、修改和分发代码,但可能需要遵守一些特定的条款,例如保留原始版权信息。 为了在项目中使用Acegi ...

    spring 2.0 中文用户指南

    总的来说,《Spring 2.0 中文用户指南》是学习和掌握Spring框架的重要参考资料,无论你是初学者还是经验丰富的开发者,都能从中获益匪浅。通过阅读这份指南,你可以深入了解Spring 2.0的各种特性和最佳实践,提升你...

    acegi-security-1.0.6-sources.jar.zip

    对于学习Acegi Security的开发者,理解源代码中的关键类和接口,如`AbstractSecurityInterceptor`、`Authentication`、`GrantedAuthority`等,是至关重要的。同时,熟悉Spring AOP的概念和实践也有助于更好地利用...

    spring2.0中文帮助文档

    Spring 2.0 是一个里程碑式的版本,在Java企业级应用开发领域中占据着核心地位。这个框架以其模块化、灵活性和强大的...这份文档详细阐述了Spring的各种特性和使用方法,是学习和使用Spring 2.0不可或缺的参考资料。

    spring2.0中文开发参考手册.chm.zip

    10. **Spring Security**:虽然不在2.0版本中,但Spring Security(之前称为Acegi Security)是一个可选的模块,提供身份验证和授权功能,保护Spring应用免受安全威胁。 总之,《Spring 2.0 中文开发参考手册》是...

    DWR2.0中文文档

    - **DWR与Acegi**:解决Acegi安全框架下DWR的权限问题。 #### DWR中的JavaScript - **简单的回调函数**:介绍如何使用DWR进行异步调用,并在调用完成后执行回调函数。 - **调用元数据对象**:元数据对象包含关于...

Global site tag (gtag.js) - Google Analytics