我创建了这个过滤器:
@WebFilter(
dispatcherTypes = { DispatcherType.REQUEST },
urlPatterns = { "/authz/*" },
initParams = { @WebInitParam(name = "excludedPaths", value = "authorize, token, log") }
)
public class BearerFilter implements Filter
{
永远不会达到 BearerFilter
代码。但是,如果我设置urlPatterns = { "/*" }
,则会到达doFilter
代码。
显然,我正在使用此网址拨打电话:
http://guest1:8080/authz/cmng/client
答案 0 :(得分:1)
过滤网址模式相对 应用程序上下文。
该应用程序部署在
上authz
因此,/authz/*
等过滤网址模式对您无效。
我正在使用此网址拨打电话:
http://guest1:8080/authz/cmng/client
过滤器应映射到 /authz
之后的路径,例如/cmng
,/cmng/*
,/cmng/client
,{{1等等。
模式/cmng/client/*
可用于捕获命中您应用程序的所有请求。