我有一个控制器,我想在其中检查用户是否经过完全身份验证,类似于 Spring SecurityisFullyAuthenticated()
表达式提供的内容。我怎么做?
我使用的解决方案基于 Tomasz Nurkiewicz 下面的回答,只是从 org.springframework.security.access.expression.SecurityExpressionRoot 窃取实现
public class SpringSecurityUtils {
private static final AuthenticationTrustResolver trustResolver = new AuthenticationTrustResolverImpl();
public static boolean isFullyAuthenticated()
{
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
return !trustResolver.isAnonymous(authentication) && !trustResolver.isRememberMe(authentication);
}
}