需求:制作一个网站需要用户登陆后才能查看,即一个权限的问题

  1.首先明确在用户没登陆前有两个Action请求是可以通过的,即注册和登陆。

  2.创建拦截器,如UserLoginInterceptor.java,如下

public class UserLoginInterceptor extends AbstractInterceptor {@Overridepublic String intercept(ActionInvocation arg0) throws Exception {Action action = (Action) arg0.getAction() ;//放行这两种Action请求if(action instanceof RegisterAction||action instanceof LoginAction){return arg0.invoke() ;}else{//获取session有没有用户?User user = (User) arg0.getInvocationContext().getSession().get("user") ;if(user==null){//若没有,则想页面传达错误的消息arg0.getInvocationContext().getSession().put("noLand", "您没有权限,请先注册或登录!");return "input" ;}else{//若有则放行return arg0.invoke() ;}}}}

  3.拦截器写好后要在struts.xml中配置

     <interceptors><!-- 配置已写好的拦截器 --><interceptor name="userLogin" class="com.blog.interceptor.UserLoginInterceptor"/><!-- 定义自己的拦截器栈,由struts2自己的拦截器栈和前面的拦截器组成 --><interceptor-stack name="blogStack"><interceptor-ref name="userLogin"/><interceptor-ref name="defaultStack"/></interceptor-stack></interceptors><!-- 将自定义的拦截器栈设为默认栈 --><default-interceptor-ref name="blogStack"/>

  4.在无权限跳转页面上显示session中自己放入的提醒信息。

转载于:https://www.cnblogs.com/hfblogs/p/5347573.html

strust2自定义interceptor的基本方法及操作相关推荐

  1. android sqlite自定义函数,Android中自定义一个View的方法详解

    本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...

  2. Android自定义View的实现方法,带你一步步深入了解View(四)

    不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中很多重要的知识 ...

  3. wamp增加php,新版PHPWAMP自定义添加PHP版本方法步骤

    新版PHPWAMP自定义添加PHP版本方法步骤 发布时间:2020-05-08 10:19:50 来源:亿速云 阅读:210 作者:三月 本文主要给大家介绍新版PHPWAMP自定义添加PHP版本方法步 ...

  4. linux关闭桌面快捷键设置,在XFCE4桌面上自定义键盘快捷键的方法

    本文介绍在Linux XFCE4桌面环境上自定义键盘快捷键的方法. 默认键盘快捷键 XFCE4没有像其他Linux桌面环境那样加载许多键盘快捷键,但它确实有很多,这些快捷方式隐藏在桌面设置的" ...

  5. QVariant类及QVariant与自定义数据类型转换的方法

    这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型"擦除"的作用.比如我们的 table单元格可以是string,也可以是int ...

  6. 搜狗浏览器安装自定义JS脚本的方法~

                          搜狗浏览器安装自定义JS脚本的方法- 方法1 安装新搜狗浏览器右上常用工具栏,在"工具箱"上点击选"添加". 搜索安 ...

  7. Android中自定义view的onMeasure()方法详谈

    背景 理解MeasureSpec MeasureSpec 情况分析 结合图例分析 总结 A little bit of progress every day!Come on! 背景 首先关于自定义vi ...

  8. 用计算机设计主题色调,Win10个性化颜色怎么设置 自定义Win10主题颜色方法 (全文)...

    Win10个性化颜色怎么设置?本文主要分享一些实用的Win10小技巧,本文主要针对开始菜单背景与主题色颜色设置的问题,虽然设置个性化颜色很简单,但自定义Win10主题颜色可不是每个朋友都会的,下面本文 ...

  9. django认证系统实现自定义权限管理的方法 - python

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文记录使用django自带的认证系统实现自定义的权限管理系统,包含组权限.用户权限等实现. 0x01. django认 ...

最新文章

  1. 50~80万项目需求|室内场景三维重建项目
  2. 统治未来的离散式神经网络详解
  3. 用VS2005开发Sharepoint工作流,出现此安装不支持该项目类型。的处理
  4. openssh 7.4 java使用_openssh/openssl升级到7.4和1.0.2j 源码方式
  5. bash-shell中使用的特殊字符总结
  6. 构建通用类型- 继承 VS 聚合
  7. javascript 模块化机制
  8. java随机安排座位表程序_java – 为长凳生成随机座位表的最有效算法?
  9. 2017 秦皇岛CCPC Balloon Robot (ZOJ 3981)
  10. SQL Server审核功能–发现和体系结构
  11. bigdecimal js 判断等于0_Js BigDecimal实现精确加减乘除运算的方法
  12. SQL——Hibernate SQL增删改查
  13. excel vba移位运算
  14. Python——伪随机数生成器
  15. 网络基础知识(ESP8266开发篇)
  16. 单片机硬件抗干扰常用方法
  17. 连日来卖报纸嘅一d感想,
  18. Latex 使用自己安装的自定义字体 教程
  19. 安装WSL2的踩雷历程
  20. HTTP应知应会知识点复习手册(下)

热门文章

  1. 关于一个无限分类的多选,单选相关的控件
  2. MATLAB【六】 ———— matlab 随机散斑模拟
  3. 在.NET环境下发送邮件
  4. DW中CSS属性详解
  5. readelf和ldd分析elf文件
  6. 从1的补码说起计算机的数制
  7. PE文件和COFF文件格式分析——导出表的应用——一种插件模型
  8. 【FFmpeg】便捷函数汇总(持续更新中...)
  9. 【Qt】Qt再学习(十):鼠标拖拽(dragdrop)QGraphicsItem示例
  10. win7计算机组策略打不开,win7系统gpedit.msc组策略打不开该怎么解决?方法步骤