我想知道如何实现像使用此 @WebFilter 注释这样的行为
@WebFilter(
urlPatterns = "/*",
filterName = "AuthenticationFilter",
description = "Filter all URLs"
,
initParams = {
@WebInitParam(name = "unprotectedUrls", value = "/,/login,/authentication,/notification,/sdr")})
public class AuthenticationFilter implements Filter {
...}
(效果很好,这意味着我不必只为列出的路径登录,而是为我必须登录的所有其他路径)...通过在 web.xml 中使用 <filter> 元素。
在 web.xml 中使用此过滤器:
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>com.foo.bar.helper.AuthenticationFilter</filter-class>
<init-param>
<param-name>unprotectedUrls</param-name>
<param-value>/,/login,/authentication,/notification,/sdr</param-value>
</init-param>
</filter>
它无法识别,这意味着我不必为所有路径/URL 登录。不进行过滤。
我的目的是使 init-params 可配置,这样每当包含更多 URL 时,我就不必编辑代码/类。