我创建了这个过滤器:
@WebFilter(
dispatcherTypes = { DispatcherType.REQUEST },
urlPatterns = { "/authz/*" },
initParams = { @WebInitParam(name = "excludedPaths", value = "authorize, token, log") }
)
public class BearerFilter implements Filter
{永远达不到BearerFilter代码。但是,如果我设置了urlPatterns = { "/*" },就会到达doFilter代码。
显然,在使用这个URL时,我会调用它:
http://guest1:8080/authz/cmng/client发布于 2017-08-04 08:09:14
Filter模式是相对于应用程序上下文的。
应用程序部署在
authz上。
因此,过滤器URL模式(如/authz/* )不会适用于您。
在使用这个URL时,我会给它打电话: http://guest1:8080/authz/cmng/client
过滤器应该映射到/authz之后的路径,例如/cmng、/cmng/*、/cmng/client、/cmng/client/*等等。
并且可以使用模式/*来捕获命中应用程序的所有请求。
https://stackoverflow.com/questions/45486408
复制相似问题