Заменить объект аутентификации после успешной аутентификацииJAVA

Программисты JAVA общаются здесь
Гость
Заменить объект аутентификации после успешной аутентификации

Сообщение Гость »


У меня есть приложение Spring, использующее OAuth2. После успешного входа в систему я вижу OAuth2AuthenticationToken в контексте безопасности пользователей.

Я хотел бы заменить этот токен другой реализацией Authentication, например PreAuthenticatedAuthenticationToken.

Как я могу это сделать? До сих пор я пытался заменить Authentication в SecurityContext на AuthenticationSuccessHandler. Но я все еще вижу OAuth2AuthenticationToken после выполнения этого кода.
@Component публичный класс SecurityHandler реализует AuthenticationSuccessHandler { public void onAuthenticationSuccess (запрос HttpServletRequest, ответ HttpServletResponse, аутентификация при аутентификации) выдает IOException { PreAuthenticatedAuthenticationToken newToken = новый PreAuthenticatedAuthenticationToken("test-user","pw"); token.setAuthenticated(истина); SecurityContext secContext = SecurityContextHolder.getContext(); secContext.setAuthentication(токен); Сеанс HttpSession = request.getSession(true); session.setAttribute("SPRING_SECURITY_CONTEXT", secContext); } }

Вернуться в «JAVA»