У меня есть пользовательский поставщик аутентификации, определенный в моей конфигурации Spring Security. Этот класс реализует AuthenticationProvider, и я могу успешно войти в систему, используя форму, определенную на моей странице. Проблема в том, что я хочу назвать этот класс не только на странице входа, но и на странице регистрации.
Страница регистрации использует другой класс команд и собирает больше информации, чем форма входа. Прямо сейчас, когда пользователь регистрируется, я вызываю соответствующий контроллер, добавляю запись в базу данных, и они могут затем войти в систему, но они не входят в систему автоматически. Поскольку они только что дали мне свое имя пользователя / пароль на странице регистрации, могу ли я передать их в пользовательский класс AuthenticationProvider, чтобы они также вошли в систему?
Я попытался создать класс org.springframework.security.Authentication в контроллере регистрации и вызвать метод authenticate в моем классе AuthenticationProvider моего клиента, и это не приводит к ошибке, но пользователь не вошел в систему. Мне нужно вызвать метод выше в цепочке фильтров Spring Security для этого? Должен ли я перенаправить контроллер на URL-адрес j_spring_security_check? Если так, как я передам имя пользователя / пароль?