• Struts2拦截器设置问题


    我在工作中遇到了Struts2拦截器设置问题,后来终于解决了。

    我们公司做的项目是分前后台的,前台是android手机终端,后台是J2EE,主要是给前台数据服务,我是写后台的。

    后来领导为了查看数据,让我做了几个jsp页面,还做了登录功能。在登录模块中我使用了Struts2中的拦截器来控制用户非法操作。

    但是手机终端是不需要登录也能访问后台的,加了拦截器后系统就不让访问了,因为拦截器拦截了地址。

    解决方法:

    <interceptors>
       <interceptor name="auth" class="authenticationInterceptor"/>
       <interceptor name="check" class="checkInterceptor"/>
       <interceptor-stack name="securityStack">
        <interceptor-ref name="defaultStack"/>
        <interceptor-ref name="auth"/>
        <interceptor-ref name="check"/>
       </interceptor-stack>
       
       <interceptor-stack name="mobileStack">
        <interceptor-ref name="defaultStack"/>
        <interceptor-ref name="check"/>
       </interceptor-stack>
      </interceptors>
      <default-interceptor-ref name="securityStack"/>

    其中<interceptor name="auth" class="authenticationInterceptor"/>
    <interceptor name="check" class="checkInterceptor"/>这两个是我自己写的拦截器,设为默认拦截器,我再定义了mobileStack拦截器,这个不包括auth拦截器,所以方式调用mobileStack拦截器的action就不会检查用户有没有登录。

    终端访问的action我就用mobileStack拦截器,否则就用默认拦截器,这样就终端页能访问后台了。

  • 相关阅读:
    ansible使用
    git undo last commit
    metadata简介
    tinyint(4),tinyint(80)有什么区别
    php 打印debug日志
    tinycore Network card configuration during exec bootlocal.sh
    Windows使用CMD命令查看进程和终止进程
    @NotEmpty,@NotNull和@NotBlank的区别
    spring boot 程序启动缓慢的问题(二)
    LocalDateTime的一些用法
  • 原文地址:https://www.cnblogs.com/jirimutu01/p/2604693.html
Copyright © 2020-2023  润新知