Настраиваемое действие формы входа безопасности Spring против default-target-url - PullRequest
0 голосов
/ 28 января 2020

При создании приложения Spring-Security с пользовательской формой входа нам нужно указать default-target-url в теге <http>. Это представляет конечную точку API REST, которая должна вызываться в случае успешной аутентификации и авторизации.

В пользовательской форме входа в систему у нас есть атрибут действия. Должно ли это действие быть таким же, как default-target-url? Должна ли быть конечная точка API REST, настроенная для этого действия в моем контроллере? Или Spring обработает его внутри, а затем перенаправит запрос на default-target-url после первоначальной обработки самого себя?

Я знаю, что это выглядит как очень простой c вопрос, но я не нашел объяснения этому ни в одном онлайн-учебник или даже документация Spring.

Ответы [ 2 ]

1 голос
/ 31 января 2020

default-target-url - это то место, куда вы должны отправить пользователя после успешной аутентификации и авторизации.

Атрибут действия в пользовательской форме входа является атрибутом обычного действия при отправке формы, а не укажите c для обеспечения безопасности пользовательской формы входа в систему.

Итак, когда вы указываете атрибут действия в пользовательской форме входа, вы указываете метод отображения запроса, который будет вызываться в случае формы входа в систему POST - который пользователь отправляет после указания учетные данные для входа в систему.

Это место, где вы будете обрабатывать аутентификацию и авторизацию, и в случае успеха пользователь попадет либо на URL-адрес по умолчанию, либо на страницу успеха входа, которую вы вернете из запроса. отображение. Конечно, если указаны неверные учетные данные, вы перенаправляете на страницу входа с соответствующими сообщениями об ошибках.

0 голосов
/ 02 февраля 2020

После долгих проб и ошибок я понял, что оба атрибута action и login-processing-url должны указывать на одну и ту же конечную точку login. Это активирует встроенный фильтр весной, отвечающий за обработку аутентификации. После успешной аутентификации мы приземляемся на конечную точку, указанную default-target-url.

...