zoukankan      html  css  js  c++  java
  • Shiro Filter引发的思考

    FilterChain过滤链

    假设我们有两个Filter(HelloFilter 和WorldFilter ),一个请求过来的流程是这样:

    HelloFilter doFilter start......
    WorldFilter doFilter start......
    Hello业务方法......
    WorldFilter doFilter end......
    HelloFilter doFilter end......

    假设HelloFilter的doFilter中有请求转发或者是重定向至world业务路径且不再执行chain.doFilter(reques, response),一个请求过来的流程是这样:

    HelloFilter doFilter start......
    World业务方法......
    HelloFilter doFilter end......

    假设HelloFilter的doFilter中有请求转发或者是重定向至world业务路径且执行chain.doFilter(reques, response),一个请求过来的流程是这样:

    HelloFilter doFilter start......
    World业务方法......
    WorldFilter doFilter start......
    WorldFilter doFilter end......
    HelloFilter doFilter end......

    假设HelloFilter的doFilter中有请求转发或者是重定向至world业务路径且执行chain.doFilter(reques, response),WorldFilter的doFilter中有请求转发或者是重定向至filter业务路径再执行chain.doFilter(reques, response)或者是不再执行chain.doFilter(reques, response),一个请求过来的流程是这样:

    HelloFilter doFilter start......
    World业务方法......
    WorldFilter doFilter start......
    java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed

    假设HelloFilter的doFilter中有请求转发或者是重定向至world业务路径且执行chain.doFilter(reques, response),WorldFilter的doFilter执行chain.doFilter(reques, response)或者是再请求转发或者是重定向至filter业务路径,一个请求过来的流程是这样:

    HelloFilter doFilter start......
    World业务方法......
    WorldFilter doFilter start......
    Hello业务方法......
    java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
  • 相关阅读:
    【Linux】gvim封装至gvi命令
    unity, GUI.Button texture is black
    建了个百度贴吧:图形底层吧
    unity, imageEffect在android上不显示的问题
    3dmax fx shader, vertex color
    unity, editorWindow lose data when enter play mode
    unity, undo
    unity, editorWindow update计时
    unity, imageEffect的最后一步blit所用的shader,应该关闭zwrite和ztest
    unity, GUIStyle and Skin
  • 原文地址:https://www.cnblogs.com/BINGJJFLY/p/9378522.html
Copyright © 2011-2022 走看看