AbstractAuthenticationProcessingFilter的作用
abstractAuthenticationProcessingFilter的职责也就非常明确——处理所有HTTP Request和Response对象,并将其封装成AuthenticationMananger可以处理的Authentication。并且在身份验证成功或失败之后将对应的行为转换为HTTP的Response。同时还要处理一些Web特有的资源比如Session和Cookie。总结成一句话,就是替AuthenticationMananger把所有和Authentication没关系的事情全部给包圆了。
看AbstractAuthenticationProcessingFilter源码可以知道,他有一个构造方法
/**
* @param defaultFilterProcessesUrl the default value for <tt>filterProcessesUrl</tt>.
*/
protected AbstractAuthenticationProcessingFilter(String defaultFilterProcessesUrl) {
setFilterProcessesUrl(defaultFilterProcessesUrl);
}
这个构造方法传入一个默认路径作为子类的过滤路径。
就比如要实现短信登录,正常登录的话是调用/auth/token,这块过滤路径参数(defaultFilterProcessesUrl)写成/auth/token/mobile,就可以对这个路由进行单独过滤。