eclipse环境下新建一个web project项目AcegiTest,把Acegi-security-samples-tutorial-1.0.7.zip 中的代码放入项目中的对应目录下:
IE地址栏输入:http://localhost/AcegiTest/
转到index.jsp 页面:
主页
任何人可浏览此页面。
安全页面
超级安全页面
(1)点“安全页面”则进入登录页面acegilogin.jsp:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
当peter登录是则显示:
抱歉,您登录失败,请重新登录!
原因: User is disabled
当其他用户登录时则进入安全页面,点“退出”转到主页,再点其他链接则自动转到登录页面。
(2)点“超级安全页面”则进入登录页面acegilogin.jsp:
当peter登录是则显示:
抱歉,您登录失败,请重新登录!
原因: User is disabled
当普通用户登录时则显示:
对不起,您无权访问!
org.acegisecurity.AccessDeniedException: Access is denied
Authentication object as a String: org.acegisecurity.providers.UsernamePasswordAuthenticationToken@6178e6d6: Username: org.acegisecurity.userdetails.User@bc43000: Username: scott; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@fffe3f86: RemoteIpAddress: 127.0.0.1; SessionId: 936492B5C00BF262EF5DBC490C64C190; Granted Authorities: ROLE_USER
当超级用户登录时,则转到非常安全页面。
实现该功能主要是:
<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><![CDATA[
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/secure/extreme/**=ROLE_SUPERVISOR
/secure/**=IS_AUTHENTICATED_REMEMBERED
/**=IS_AUTHENTICATED_ANONYMOUSLY
]]></value>
</property>
</bean>
后面章节我将对其中的代码进行解析。
分享到:
相关推荐
在这个" Acegi-security-samples-tutorial-1.0.7.zip "压缩包中,包含了一个详细的教程实例,帮助开发者理解并掌握Acegi Security的使用方法。通过将这些示例代码导入到自己的项目并添加注释,我们可以更深入地学习...
Acegi是一个专门为SpringFramework提供安全机制的项目,全称为Acegi Security System for Spring.
这个"acegi-security-1.0.7.jar.zip"文件包含的是Acegi Security 1.0.7版本的库,它是一个压缩的Java Archive(JAR)文件,专门设计用于增强Spring框架的安全功能。 Acegi Security的核心功能包括身份验证、授权和...
这个"acegi-security-catalina-1.0.7.jar.zip"文件包含的是Acegi Security的一个特定版本,即1.0.7,针对Tomcat(Catalina)容器的实现。在Java Web开发中,Tomcat作为Servlet容器,是部署和运行Java Web应用程序的...
acegi-security-1.0.7.jar
这个"acegi-security-resin-1.0.7.jar.zip"文件包含的是Acegi Security的一个特定版本,即1.0.7,与Resin应用服务器集成的相关组件。 Resin是Caucho公司开发的一款开源Java应用服务器,它支持Servlet和JSP规范,...
这个"acegi-security-tiger-1.0.0-RC2.jar.zip"压缩包包含的是Acegi Security的一个早期版本——1.0.0 Release Candidate 2(RC2),专门针对Tiger(Java SE 5.0)版本的Java开发环境。 Acegi Security的主要功能...
在描述中提到的"acegi-security-cas-1.0.7.jar.zip"是一个包含Acegi Security CAS集成模块的压缩文件,版本为1.0.7。这个JAR文件是用于在Spring应用中引入Acegi Security和CAS支持的库。"jar.zip包下载"可能指的是...
在本案例中,我们关注的是"acegi-security-jboss-1.0.7.jar.zip"这个压缩包,该文件是专门为JBoss应用程序服务器定制的一个版本。Acegi Security 1.0.7是一个重要的里程碑,它包含了一系列的修复和改进,旨在提升...
这个"acegi-security-jetty-1.0.7.jar.zip"文件是一个包含 Acegi Security 版本1.0.7与Jetty集成的归档文件,用于提供在Jetty应用服务器上的安全服务。 Acegi Security是基于Spring框架的,它为Java Web应用程序...
包含acegi-security-1.0.7....acegi-security-samples-contacts-1.0.7-sources.jar,acegi-security-samples-tutorial-1.0.7-sources.jar,acegi-security-tiger-1.0.7.jar,acegi-security-tiger-1.0.7-sources.jar等jar
这个版本的jar文件"acegi-security-tiger-1.0.7.jar"是该框架的核心库,包含了实现安全控制的所有类和接口,使得开发者能够更方便地管理用户的登录、权限分配以及访问控制。 Acegi Security的主要功能包括: 1. **...
acegi-security 1.0.2.jar
在"acegi-security-tiger-1.0.7.jar"这个文件中,包含了Acegi Security的所有类和资源,可以直接导入到项目中作为依赖。"springframework-license.txt"文件则是Spring框架的许可证文本,通常包含软件的许可协议,...
这个"acegi-security-0.8.1.1.jar.zip"文件是Acegi Security 0.8.1.1版本的归档包,包含了该版本的核心库文件——"acegi-security-0.8.1.1.jar",以及相关的许可证文件——"springframework-license.txt"。...
这个"acegi-security-1.0.7-osgi.jar.zip"压缩包包含的是Acegi Security 1.0.7版本,适配于OSGi(Open Service Gateway Initiative)环境的jar文件以及相关的许可协议文本。 首先,让我们深入了解一下Acegi ...
总的来说,`acegi-security-0.8.3.jar.zip` 提供了一个早期的Java安全解决方案,对于学习和理解基于Spring的安全架构历史及其发展具有重要意义。在当前的开发环境中,虽然我们更多地转向Spring Security,但理解...
这个"acegi-security-0.6.1.jar.zip"文件包含的是Acegi Security 0.6.1版本的库,以及相关的许可证信息。 Acegi Security的核心功能在于提供了一套全面的身份验证和授权机制,它允许开发者为Web应用程序添加细粒度...
"acegi-security-jetty-0.8.3.jar.zip"文件是Acegi Security与Jetty服务器特定版本(0.8.3)的集成包,它包含了Acegi Security的jar文件以及相关的许可证信息。 Acegi Security的主要功能包括: 1. **身份验证**:...