`
izuoyan
  • 浏览: 9299670 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

第一个Acegi程式

阅读更多
第一个Acegi程式
2008年05月09日 星期五 11:56
--------------------------------------------------------------------------------------------------------------------
第一个Acegi程式
http://www.acegisecurity.org/downloads.html
下载
--------------------------------------------------------------------------------------------------------------------
两个配置文件
四个JSP
--------------------------------------------------------------------------------------------------------------------
web.xml
--------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<display-name>Acegi 范例</display-name>

<!-- 指定Acegi资讯的设定档-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/acegi-config.xml</param-value>
</context-param>

<!-- 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>

<!-- 取得Spring的Context -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
--------------------------------------------------------------------------------------------------------------------
acegi-config.xml
--------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 验证处理,使用表单 -->
<bean
>
<!-- 验证管理员,处理验证资讯提供者 -->
<property
ref="authenticationManager" />
<!-- 验证失败URL -->
<property
value="/acegilogin.jsp" />
<!-- 验证成功预设URL -->
<property
value="/protected/loginsuccess.jsp" />
<!-- 验证处理的提交位址 -->
<property
value="/j_acegi_security_check" />
</bean>

<!-- 验证管理员,管理验证资讯提供者 -->
<bean
>
<property ><!-- 可有多个提供者,其中一个验证通过即可以了 -->
<list>
<ref local="daoAuthenticationProvider" />
</list>
</property>
</bean>

<!-- 验证提供者,指定使用记忆体来源中的验证资讯 -->
<bean
>
<property ref="inMemoryDaoImpl" />
</bean>

<bean
>
<property >
<value>
caterpillar=123456,ROLE_SUPERVISOR
user1=user1pwd,ROLE_USER
user2=user2pwd,disabled,ROLE_USER
</value>
</property>
</bean>

<!-- 发生验证错误或权限错误时的处理 -->
<bean
>
<property >
<bean
>
<property value="/acegilogin.jsp" />
<property value="false" />
</bean>
</property>
<property >
<bean
>


<!-- <property value="/protected/accessDenied.jsp"/> -->

<!-- HTTP Status 403 - Access is denied -->
</bean>
</property>
</bean>

<!-- FilterSecurityInterceptor 对 URI 进行保护 -->
<bean
>
<!-- 验证管理员 -->
<property
ref="authenticationManager" />
<!-- 授权管理员 -->
<property
ref="accessDecisionManager" />
<property >
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT /protected/**=ROLE_SUPERVISOR
<!-- /protected/**=ROLE_SUPERVISOR,ROLE_USER -->
</value>
</property>
</bean>

<!-- 授权管理员 -->
<bean
>
<!-- 是否全部弃权时视为通过 -->
<property value="false" />
<property >
<list>
<bean />
</list>
</property>
</bean>

<bean
/>

<!-- Filter Chain -->
<bean
>
<property >
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,exceptionTranslationFilter,filterSecurityInterceptor
</value>
</property>
</bean>
</beans>

--------------------------------------------------------------------------------------------------------------------
protected\accessDenied.jsp
--------------------------------------------------------------------------------------------------------------------
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>授权失败</title>
</head>
<body>

<h1>授权失败</h1>

</body>
</html>
--------------------------------------------------------------------------------------------------------------------
protected\loginsuccess.jsp
--------------------------------------------------------------------------------------------------------------------
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登入成功</title>
</head>
<body>

<h1>欢迎 <%= session.getAttribute(AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY) %>
</h1>

</body>
</html>
--------------------------------------------------------------------------------------------------------------------
acegilogin.jsp
--------------------------------------------------------------------------------------------------------------------
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head>
<title>Acegi 范例网页 - 登入</title>
</head>
<body>
<h2>登入范例应用程式!</h2>
<br />
<form action="j_acegi_security_check" method="POST">
<table>
<tr>
<td>名称:</td>
<td><input type='text' value=''></td>
</tr>
<tr>
<td>密码:</td>
<td><input type='password' ></td>
</tr>
<tr>
<td><input type="reset"></td>
<td><input type="submit"></td>
</tr>
</table>
</form>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------
index.jsp
--------------------------------------------------------------------------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=acegilogin.jsp">
</head>
<body>
<p>载入中...</p>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------

本篇日志被作者设置为禁止发表新评论


©2008 Baidu



引文来源第一个Acegi程式_熊熊之家
分享到:
评论

相关推荐

    Acegi详细教程

    安全拦截器作为Acegi的第一道防线,负责拦截试图访问受保护资源的所有请求。在用户通过认证之前,所有请求都将被拦截。只有当用户成功通过认证管理器的验证后,安全拦截器才会放行,允许其访问受保护的资源。 **2.2...

    最新ACEGI2.0教程

    - **教程示例**:通过一个简单的示例项目,演示Spring Security的基本用法及其主要功能。 - **联系人管理应用**:详细介绍如何在实际的应用场景中使用Spring Security实现用户管理、权限控制等功能。 #### 四、社区...

    Acegi参考资料

    Acegi支持多种访问决策策略,如多数投票、第一个通过等,可以根据不同业务需求选择合适的策略。此外,还允许自定义访问决策器,实现更复杂的逻辑。 **5. 防火墙(Filter Security Interceptor)** Acegi的核心组件...

    websphere系统部署

    在“资源”——》“JDBC”——》“JDBC提供程序”下,新建一个JDBC提供程序,选择所有作用域的第三个选项。接着,添加ojdbc14.jar驱动包的路径,继续下一步直至完成。之后,在“数据源”部分,新建一个数据源,选择...

    Webwork教程

    4. **Comparisonto Struts**:与第一代Struts相比,WebWork/Struts2具有更好的扩展性和灵活性。 5. **Comparisonto Tapestry**:Tapestry更注重于页面的构建,而WebWork更侧重于业务逻辑的处理。 #### 五、版本升级...

    spring3教程

    Spring3是该框架的一个重要版本,它在前代基础上进行了诸多改进和优化,使得开发人员能够更加高效地构建企业级应用程序。本文将基于《跟开涛学spring3》系列文档,对Spring3的核心概念、主要特性和实际应用进行详尽...

    Java ssh 权限系统 开发视频教程 第15讲(超清版).mp4

    在这个视频教程的第15讲中,我们可能会深入探讨如何构建一个安全、高效的权限管理系统。SSH框架在企业级应用开发中广泛使用,因为它们提供了模型-视图-控制器(MVC)架构、对象关系映射(ORM)以及动作层的封装,极...

    Java ssh 权限系统 开发视频教程 第08讲(超清版).mp4

    在本视频教程的第08讲中,我们将深入探讨如何构建和实现一个完整的权限管理系统。 首先,Spring框架是Java后端的核心组件,负责管理应用程序的各个组件,包括依赖注入(DI)和面向切面编程(AOP)。在权限系统中,...

    Java ssh 权限系统 开发视频教程 第17讲(超清版).mp4

    在本节Java SSH权限系统开发视频教程第17讲中,我们将深入探讨如何在Java应用程序中构建一个安全的权限管理系统,特别关注SSH(Spring、Struts2和Hibernate)这一流行的企业级开发框架。SSH框架结合了Spring的强大...

    DWR中文教程 PDF格式

    **1.2 第一个DWR程序:HelloWorld** **1.2.1 将DWR放入你的工程** - 将DWR库添加到项目的类路径中。可以通过下载最新版本的DWR库,并将其加入到项目的lib目录中实现。 **1.2.2 编辑配置文件** - 配置文件通常命名...

    SpringSecurity安全权限管理手册

    第一章的"HelloWorld"示例通常是一个简单的入门教程,旨在演示如何在Spring Security中设置基本的权限控制。在这个例子中,可能会涉及到定义用户、角色和权限,以及如何拦截和处理未授权的访问请求。通过配置URL过滤...

    Tapestry5 使用教程

    ##### 3.2 创建第一个 Tapestry5 应用 - **使用 WAR 文件导入**:将下载的 WAR 文件导入到 Eclipse 或其他 IDE 中。 - **使用 Apache Maven**:使用 Maven 快速启动原型来创建 Tapestry 项目。 在完成上述步骤后,...

    第21章 SSH整合开发用户管理系统.rar

    1. **Struts**:这是一个MVC(Model-View-Controller)框架,主要用于处理用户界面和业务逻辑之间的交互。它提供了一种组织应用代码的方式,使得开发者能够更好地分离关注点,提高代码的可维护性和可测试性。Struts...

    Java ssh 权限系统 开发视频教程 第09讲(超清版).mp4

    在本节Java SSH权限系统开发视频教程的第09讲中,我们将深入探讨如何构建一个安全、高效且灵活的权限管理系统。SSH(Spring、Struts和Hibernate)是Java Web开发中广泛使用的三大框架,它们各自负责不同的职责,共同...

    Spring 3.x企业应用开发实战光盘源码part02

    这部分是整个教程源码的第二部分,暗示着可能存在一个第一部分,可能包含了基础的设置和初始化工作。Spring 3.x是一个广泛使用的Java框架,用于构建可维护、可扩展且松耦合的应用程序。它强调了依赖注入(Dependency...

    Spring安全权限管理

    在Spring Security的配置中,关键的第一步是在`web.xml`文件中定义一个名为`springSecurityFilterChain`的过滤器。这个过滤器是DelegatingFilterProxy类的实例,它将所有请求转发到Spring Security的过滤链。通过...

    springsecurity

    - 第一个数字代表主版本号,表示重大更新。 - 第二个数字代表次版本号,表示新功能添加。 - 第三个数字代表修订版本号,表示错误修复或小更新。 - `RELEASE`标记表示该版本已经正式发布。 ##### 1.4 获取Spring ...

    跟我学spring3(总共13章)

    本教程的第1章通常会介绍Spring的基础概念,包括Spring框架的概述、环境搭建、Spring项目结构、IoC容器的基本操作等内容。通过阅读这一章,读者可以快速了解Spring的基本工作原理和应用场景,为后续章节的学习打下...

    spring framework 包

    6. **社区活跃**:Spring有一个庞大的开发者社区,提供了丰富的教程、示例和第三方库,有助于问题的解决和学习。 下载"spring-framework"压缩包后,开发者可以快速搭建开发环境,根据项目需求选择相应的模块进行...

Global site tag (gtag.js) - Google Analytics