Существует несколько способов получения username и password при использовании Spring Security. Ниже описаны два наиболее распространенных способа.
1. Использование `HttpServletRequest` в контроллере:
Чтобы получить значения username и password из формы в контроллере Spring, вы можете использовать `HttpServletRequest` для извлечения параметров запроса. Пример кода ниже:
```java
@Controller
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(HttpServletRequest request) {
String username = request.getParameter("username");
String password = request.getParameter("password");
// Ваш код обработки
return "redirect:/home";
}
}
```
2. Использование модели данных в контроллере:
Вы также можете использовать модель данных для получения значений username и password из формы. В этом случае вы должны добавить поля username и password в вашу модель данных и использовать аннотацию `@ModelAttribute` вместе с параметром запроса `HttpServletRequest`. Пример кода ниже:
```java
@Controller
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@ModelAttribute("user") User user, HttpServletRequest request) {
String username = user.getUsername();
String password = user.getPassword();
// Ваш код обработки
return "redirect:/home";
}
}
```
В HTML-файле вашей формы вы должны указать атрибут `name` для полей username и password. Вы также должны убедиться, что URL вашей формы соответствует значению атрибута `value` в аннотации `@RequestMapping` в контроллере.
Например:
```html
<form action="/login" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" value="Login" />
</form>
```
Оба способа должны работать для получения значений username и password из формы в Spring контроллере. Выберите наиболее удобный для вашей ситуации.