В Spring Security будет установлен фильтр обработки аутентификации по умолчанию <form-login>
(В XML Config) .formLogin()
(В Java Config), чья конфигурация по умолчанию
По умолчанию в конфигурации xml (Вы можете настроить, если хотите)
login-page="/login"
default-target-url="/" <!-- On Successful athentication -->
authentication-failure-url="/login?error"
username-parameter="username" <!-- For custom login page if it has different param name - say email -->
password-parameter="password" <!-- For custom login page custom parameter -->
По умолчанию в конфигурации Java (Вы можете настроить, если хотите)
.loginPage("/login")
.defaultSuccessUrl("/") //On Authentication success
.failureUrl("/login?error") //On Authentication failure
.usernameParameter("username") //Default auth param1
.passwordParameter("password") //Default auth param2
ВВаш код
Поскольку вы не упомянули login-page
в своей конфигурации
, он предоставит страницу входа по умолчанию на GET: /login
и URL-адрес обработки аутентификации по умолчанию POST: /login
(параметры должны быть username
и password
)
Поэтому используйте
POST - http://localhost:8080/MyWebsite_Membership/login
Для аутентификации у вашего почтальона или любого другого клиента. Не будет отображаться 404
Никаких изменений кода не требуется.
В случае OP springSecurityFilterChain настроен для шаблона URL
<url-pattern>/api/**</url-pattern>
Если springSecurityFilterChain (DelegatingFilterProxy) настроен для шаблона URL /api/**
, настройки безопасности по умолчанию /login
и /logout
не будут работать, поэтому вам необходимо настроить указанные ниже URL для прохождения через springSecurityFilterChain.
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/api/**</url-pattern>
<url-pattern>/login</url-pattern>
<url-pattern>/logout</url-pattern>
</filter-mapping>
Или вы можете настроить какобъяснил О.П. в своем ответе.