@Override public Authentication authenticate(CredentialsAuthenticationContext context, Credentials credentials) { Out<UserPrincipal> user = new Out<>(); State s = beforeAuthenticate(context,credentials,user); if(State.isIntercepted(s)){ if(null != user.getValue()) { return new SimpleAuthentication(user.getValue(), credentials); }else { return null; } } Authentication authentication = authentication(context,credentials,user); return afterAuthenticate(context,credentials,authentication); }
protected Authentication createAnonymousAuthentication(Request request,Response response,AuthenticationContext context) { return new SimpleAuthentication(createAnonymous(request, response, context)); }
authc = new WrappedAuthentication(authc,createAnonymous(request, response, context)); loginImmediately(request, response, authc); return null == authc ? createAnonymousAuthentication(request, response, context) : authc;
@Override public void loginImmediately(Request request, Response response, Authentication authc) { log.debug("User {} logged in", authc.getUser().getLoginName()); saveAuthentication(request, response, authc); if(securityConfig.isAuthenticationTokenEnabled()) { tokenAuthenticationManager.onLoginSuccess(request, response, authc); } if(securityConfig.isRememberMeEnabled() && !authc.isRememberMe()) { rememberMeManager.onLoginSuccess(request, response, authc); } for(AuthenticationResolver h : resolvers) { h.onLoginSuccess(request, response, authc); } }