Struts2登录拦截器配置

编程技术  /  houtizong 发布于 3年前   113
struts2.xml
   <package name="Verification"  extends="struts-default"><!-- 配置拦截器 --><interceptors><!-- 自定义拦截器 --><interceptor name="Ylogin" class="com.debtms.action.system.Authenticationinterceptor"><param name="excludeMethods">login,quit</param></interceptor><!-- 自定义拦截链 --><interceptor-stack name="myStack"><interceptor-ref name="Ylogin"><param name="excludeMethods">login,quit</param></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref></interceptor-stack></interceptors><!-- 设置默认拦截链,一个package下只能配置一个,应用所有的没有配置拦截器或拦截链的Action --><default-interceptor-ref name="myStack"></default-interceptor-ref><global-results><result name="login" type="redirect">/error.jsp</result></global-results></package>

excludeMethods表示排除指定的方法,即不对标记为excludeMethods的方法进行拦截,
includeMethods表示包含指定的方法,即对标记为includeMethods的方法进行拦截,
excludeMethods可以配置在拦截链里,也可以在定义拦截器时配置.
非全局拦截器  需要在Action中加入<interceptor-ref name="Ylogin">
拦截器方法
  public class Authenticationinterceptor extends MethodFilterInterceptor {@Overrideprotected String doIntercept(ActionInvocation invocation) throws Exception {Map<String,Object> session = invocation.getInvocationContext().getSession();String UserID = (String) session.get(Constants.USERID_KEY);if(UserID==null){return Action.LOGIN;}else{return invocation.invoke();}}}

如要使excludeMethods配置属性生效,拦截器方法,需要继承AbstractInterceptor的子类MethodFilterInterceptor类.实现doIntercept方法即可
如果拦截器方法 返回值为: Action.LOGIN;  那么 就会在struts2.xml找 全局结果集
name为"login"的 result
  <global-results><result name="login" type="redirect">/error.jsp</result></global-results>



全局结果集 目前连接到 action的话 会有问题.会找不到请求的action
各位大神  有谁知道有什么好的解决方法  请通知小弟
在此拜谢

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客