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

struts2登陆拦截器配置

阅读更多
本文来自CSDN博客,http://blog.csdn.net/JavaWinner/archive/2008/03/16/2186778.aspx

package interceptor;

import java.util.Map;

import bean.LoginedUser;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

@ SuppressWarnings ( "unchecked" )
public class AuthCheckInterceptor extends AbstractInterceptor ...{

    private static final long serialVersionUID = -4535462154177128320L;

    @ Override
    public String intercept(ActionInvocation ai) throws Exception ...{
       
        Map session  = ActionContext.getContext().getSession();
        LoginedUser user = (LoginedUser)session.get("USER_INFO");
       
        if(null==user)...{// 判断session里是否有key="USER_INFO"的对象
            return "globalLogin";// 转发到登录页面
        }
        return ai.invoke();
       }

}

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <include file="struts-default.xml" />

    <!-- 定义含“权限检查拦截器”的包,供其他模块引用 -->
    <package name="struts-default-with-auth-check" extends="struts-default">
        <interceptors>
           
            <!-- 定义“权限检查拦截器” -->
            <interceptor name="authCheck"
                class="interceptor.AuthCheckInterceptor">
            </interceptor>
           
            <!-- 定义含“权限检查拦截器”的拦截器栈,注意缺省的拦截器栈“defaultStack”要放在前面 -->
            <interceptor-stack name="myStack">
                <interceptor-ref name="defaultStack" />
                <interceptor-ref name="authCheck"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
       
        <!-- 正式应用可能含很多package,为了能从其他package中跳转到登录页面,把登录页面定义成全局result -->
        <default-interceptor-ref name="myStack"></default-interceptor-ref>

        <global-results>
            <result name="globalLogin">login.jsp</result>
        </global-results>
    </package>


    <!-- >>>>>>>>>>>>>>>>>>>>>> p1模块 <<<<<<<<<<<<<<<<<<<<<<<<<<<< -->
   
    <!-- 注意package的extends属性,系统中只有“登录/注销”操作不需要检查权限 -->
    <package name="p1" extends="struts-default">
        <!-- 登录 -->
        <action name="login" class="action.LoginAction">
            <result>welcome.jsp</result>
            <result name="input">login.jsp</result>
        </action>

        <!-- 注销 -->
        <action name="logout" class="action.LogoutAction">
            <result>login.jsp</result>
        </action>
    </package>
    
    <!-- >>>>>>>>>>>>>>>>>>>>>> p2模块 <<<<<<<<<<<<<<<<<<<<<<<<<<<< -->
   
    <package name="p2" extends="struts-default-with-auth-check">
        <!-- 试图未经过登录,直接访问welcome页面,测试用 -->
        <action name="welcome" class="action.WelcomeAction">
            <result>welcome.jsp</result>
        </action>
    </package>

</struts>

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/JavaWinner/archive/2008/03/16/2186778.aspx
分享到:
评论

相关推荐

    Struts2 配置登陆拦截器

    本篇文章将详细介绍如何配置Struts2的登录拦截器,以及其背后的原理和实践应用。 首先,让我们理解一下拦截器的概念。在Struts2中,拦截器是基于Java的动态代理机制实现的,它们按照预定义的顺序对Action调用进行...

    使用struts2拦截器对登陆权限验证

    在Struts2配置中,我们需要将这个拦截器添加到拦截器栈中,通常是在`struts.xml`文件中。这样,每次请求到达Action之前,都会先经过这个拦截器: ```xml &lt;struts&gt; ...

    Struts拦截器案例——登陆

    1. **拦截器配置**:在`struts.xml`配置文件中,我们需要定义拦截器并将其与特定的Action关联。例如,可以创建一个名为`LoginInterceptor`的拦截器,然后在`&lt;package&gt;`标签内使用`&lt;interceptors&gt;`和`&lt;interceptor&gt;`...

    Struts2 拦截器 手动验证 或 自动验证 后台登录验证 源码

    在提供的文件"10Struts2Validation"和"11Struts2InterceptorConfig"中,可能包含了Struts2拦截器配置和验证的示例代码。这些代码可以帮助你理解如何设置拦截器,如何配置验证规则,以及如何在实际应用中实现登录验证...

    struts2实现的简单登陆 附加拦截器防止重复提交

    在这个"struts2实现的简单登陆 附加拦截器防止重复提交"的项目中,我们将深入探讨Struts2如何处理用户登录以及如何通过拦截器来防止重复提交的问题。 首先,我们来理解一下Struts2的核心概念。Struts2框架基于...

    struts2上传文件及拦截器

    struts2上传单个文件及多个文件,strus2拦截器的使用,里面有个user用户,先执行user.jsp即登陆,可以执行上传文件的操作,反之,不能,有个exit...主要文件PremissionInterceptor.java和struts2.xml拦截器配置文件,ok

    使用Struts2的拦截器实现权限控制

    Struts2 框架是Java Web开发中的一个强大MVC框架,它的核心特性之一是拦截器(Interceptor),它允许开发者在Action执行前后插入自定义的处理逻辑,从而实现诸如日志、权限控制、事务管理等多种功能。在这个场景中,...

    struts2登陆例子

    Struts2是一个强大的...通过这个示例,开发者可以学习到如何在Struts2框架下构建一个基本的用户登录系统,包括Action、配置、拦截器、结果以及数据库交互等核心概念。这将有助于理解和实践Java Web开发中的认证机制。

    struts2 登陆注册

    5. **配置文件**:`struts.xml`是Struts2的核心配置文件,定义了Action与URL的映射,以及拦截器的栈配置。在这里,我们需要为登录和注册Action添加相应的配置。 6. **服务层(Service)**:在Action中,我们通常会...

    struts2 登陆注册 以及验证

    在Struts2中,我们还可以利用拦截器(Interceptor)增强功能,如登录拦截器可以检查用户是否已经登录,未登录时重定向到登录页面。日志拦截器可以记录请求信息,帮助调试和监控。 文件"hello_struts2"可能包含了...

    struts2登陆案例

    Struts2框架通过拦截器处理请求,拦截器链可以实现诸如参数绑定、类型转换、异常处理等功能。在登录案例中,Struts2会自动将表单数据绑定到Action类的属性上,无需手动获取请求参数。 总结一下,Struts2登录案例...

    tab标签页和struts2登陆.rar

    在Struts2配置文件中,将此拦截器添加到默认栈或自定义拦截器栈中。 在提供的压缩包文件中,`o200952016530.rar`、`testtab.rar`和`struts2用户登录.zip`可能包含了具体实现Tab标签页和Struts2登录功能的源代码、...

    struts拦截器防止未登陆访问内部系统

    在`struts.xml`配置文件中添加拦截器的配置,确保除了`welcome`和`login`方法外,其他所有Action调用均需通过此拦截器的检查。此外,可利用全局转向配置,指定拦截失败时的默认转向页面。 #### 三、代码复用与扩展...

    struts2登陆验证

    4. **拦截器(Interceptor)**:Struts2的拦截器可以用来增强Action执行前后的功能,比如登录验证。可以创建自定义的拦截器来检查Session中是否有已登录的用户,或者直接在Action中进行验证。 5. **数据验证**:在...

    Struts拦截器实现拦截未登陆用户实例解析

    在Struts2中,拦截器需要在struts2.xml文件中进行配置。我们需要在struts2.xml文件中声明我们的拦截器,并将其添加到默认的拦截器栈中。 代码如下: ```xml &lt;!-- 登录拦截器的声明 --&gt; &lt;!-- 声明你已经写好的...

    Struts2登陆页面项目.zip_java_myeclipse_struts2

    此外,Struts2使用配置文件(如struts.xml)来管理Action、结果和拦截器,使得整个应用的结构清晰可维护。 在MyEclipse中,开发者通常会创建一个Struts2项目,包含src目录、WebContent目录等。源代码通常分布在src...

    struts2+cas单点登陆例子

    总结一下,Struts2+CAS的单点登录集成涉及到的主要知识点包括:CAS的工作流程、Struts2框架的拦截器机制、Web应用的过滤器配置以及安全认证的实现。通过这个简单的示例,开发者可以学习如何在自己的项目中实施SSO,...

    Struts2登陆简例

    通过这个简单的登录示例,你可以学习到Struts2的Action、配置、拦截器、表单验证、Session管理、服务层和DAO层的集成,以及错误处理等多个方面,这些都是开发复杂Web应用的基础。同时,这也是一个很好的实践项目,...

    struts2登陆代码

    2. **配置文件**:Struts2的配置文件(通常是`struts.xml`或`struts-default.xml`)定义了Action类和Action方法之间的映射关系,以及拦截器的配置。在登录场景下,我们需要配置`LoginAction`及其相关操作的结果。 `...

Global site tag (gtag.js) - Google Analytics