Как использовать проверку формы и сеанс в Spring MVC - PullRequest
0 голосов
/ 26 апреля 2011

Это мой код:

@Controller
@RequestMapping("loginform.htm")
public class LoginController {

    @RequestMapping(method = RequestMethod.GET)
    public String showForm(Map<String, LoginForm> model) {
        LoginForm loginForm = new LoginForm();
        model.put("loginForm", loginForm);
        return "loginform";
    }

    @RequestMapping(method = RequestMethod.POST)
    public String processForm(@Valid LoginForm loginForm, BindingResult result,
            Map<String, LoginForm> model) {
        String userName = "UserName";
        String password = "password";
        if (result.hasErrors()) {
            return "loginform";
        }

        loginForm = (LoginForm) model.get("loginForm");
        if (!loginForm.getUserName().equals(userName)
                || !loginForm.getPassword().equals(password)) {
            return "loginform";
        }
        model.put("loginForm", loginForm);
        return "success";
    }
}

Я использую это для проверки формы, когда пользователь вводит имя пользователя и пароль. Но вопрос заключается в том, когда подтвердите успех, я хочу добавить информацию о пользователе в сеанс на этой странице. Подскажите пожалуйста как мне это сделать, я пытался добавить функцию

public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response)

но это ничего не показывает. Есть ли у вас какие-либо идеи? Спасибо!

1 Ответ

3 голосов
/ 26 апреля 2011

В целом: вместо того, чтобы реализовывать средства безопасности самостоятельно, вы должны использовать Spring Security .


Для доступа к сеансам в Spring у вас есть дерево разными способами:

  • Работа с Http-сессией напрямую (добавьте параметр HttpSession session в метод вашего контроллера)
  • @ SessionAttributes - для доступа к конкретному полю вашей сессии
  • Прикрепляет bean-компоненты к сеансу ( bean-объекты в рамках сеанса )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...