本文来自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拦截器(Interceptor) Struts2拦截器(Interceptor)
strut2 配置自定义拦截器 包括struts2.xml 和 action对应的xml 以及拦截器 可能有点简单 但是基本配置都有
解决Struts2中的中文乱码。该代码是用作Struts2的拦截器中
struts2常用拦截器,struts2经常用到的拦截器,熟悉熟悉
该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。
使用Struts2实现用户权限拦截、重点是掌握拦截器的使用和配置方法,通过案例的学习,就能掌握struts中拦截器的使用方法,让我们能快速上手
综合使用servlet filter与struts2 interceptor对权限进行验证。
struts2 Interceptor拦截器 http://whitewolf.0fees.net
NULL 博文链接:https://chaoyi.iteye.com/blog/2158316
Struts2拦截器.ppt Struts2拦截器.ppt Struts2拦截器.ppt
关于struts2 拦截器的详细的解释及其在开发中对struts2的拦截器的应用和拦截器在框架中的作用.
struts2,Interceptor struts2拦截器实例,两套实例,一套是针对单个的action配置的,另一套实例是针对全局的action配置的拦截器interceptor
Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序
详细说明了struts2中拦截器的使用。并且通过一个小例子讲解了拦截器的具体使用
基于struts2的拦截器测试,实现了页面的跳转,中间过程的拦截
struts2 用拦截器 实现用户权限登录 可以直接运行,只单单用到struts的东西。
struts2拦截器应用小例子,与大家共分享
Struts2 中拦截器与过滤器的区别及执行顺序 Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器...
Struts2拦截器实现权限控制demo,我感觉对初学者还是有一定帮助的
Struts2的核心,拦截器的应用!!!