我想为用户提供一种使用令牌登录的替代方法。我已经在PreAuthenticationFilter类中处理了对用户的身份验证,但是随后我需要触发我的AuthenticationSuccessHandler.onAuthenticationSuccess()
哪个super.onAuthenticationSuccess()
这会在其基类中触发该方法SavedRequestAwareAuthenticationSuccessHandler.
如何从预身份验证过滤器中触发AuthenticationSuccessHandler
?我尝试设置SecurityContextHolder
的身份验证,认为它会自动触发AuthenticationSuccessHandler
,但不会。这就是我试图做到的:
Authentication authentication = new UsernamePasswordAuthenticationToken(Username, Password);
SecurityContextHolder.getContext().setAuthentication(authentication);
不幸的是,那行不通。因此,我需要知道如何从预身份验证筛选器中触发
AuthenticationSuccessHandler
。 最佳答案
您可能会启发RememberMeAuthenthicationFilter
在春季安全性中的工作方式。它具有对AuthenticationSuccessHandler
的引用,并手动调用onAuthenticationSuccess
。