0

今、私はこのようなログインコードを持っています.UserInfoはユーザー名とパスワードを含むフォームです.

@RequestMapping(value = "/login/loginCheck", method = RequestMethod.POST)
public Map<String, Object> loginCheck(UserInfo userInfo)

@RequestMapping(value = "/login/PageA", method = RequestMethod.POST)
public Map<String, Object> PageA(){
   //maybe check the session
   //if session expired ,then redirect to login page 
}

ログイン後、ページをページ A にリダイレクトし、ユーザー名をセッションに記録する必要があります。したがって、Spring フレームワークでは、それを構成するか、リクエストからセッションを取得しますか?

明確になることを願っています。

4

1 に答える 1

0

多くの方法があります。1 つは、単純に HttpSession をハンドラー メソッドに挿入することです。

@RequestMapping(value = "/login/PageA", method = RequestMethod.POST)
public Map<String, Object> PageA(HttpSession httpSession){
   //maybe check the session
   //if session expired ,then redirect to login page 
}

HttpSessionのgetAttributeメソッドは、セッションが有効でなくなった場合に IllegalStateException をスローしますが、その場合、Spring MVC が新しいセッションを作成してくれる気がするので、存在しないこと (null 値) も確認してください。

また、Spring doc の使用法@SessionAttributes@ModelAttribute注釈、および Spring Security フレームワークもご覧ください。

于 2013-07-15T04:39:58.650 に答える