2

appengine-web.xmlファイルでsessions-enabledをtrueに設定することで、セッションを有効にできます。ただし、GAEによって実装されたセッションは、ブラウザを閉じた後も永続的ではありません。私の質問は、「remember me」機能を実装できるように、セッションを永続的に保つ方法です。Pythonライブラリはたくさんありますが、Java用のライブラリは見つかりませんでした。ご助力ありがとうございます!

4

2 に答える 2

4

これを行う一般的な方法は、一意のランダム キーをユーザーに関連付け、それを永続的な Cookie に保存し (Cookie.setMaxAge()この Cookie を有効にしておく秒数と共に使用します)、この Cookie をユーザーに送信することです。

HttpServletResponse.addCookie(ユーザーに Cookie を送信するため) とHttpServletRequest.getCookies()(クライアントから Cookie を取得するため)については、javadoc を参照してください。

于 2011-03-03T19:40:13.633 に答える
1

コメントを回答としてマークすることはできないため (また、コメントを完全に見逃してしまう人もいる可能性があります)、上記の JB ごとの具体的な解決策を指摘します。を使用してセッション ID を取得しthis.getThreadLocalRequest().getSession().getId()ます。JSESSIONIDCookies.setCookie(...) と同様に、sid を Cookieに保存します。

これにより、GAE によって作成された Cookie が上書きされ、同じセッション ID が保持されますが、有効期限が適用されます。ただし、これを使用する方法には注意してください。攻撃を受けやすい (セッション ハイジャックと XSS を調べてください)。

于 2011-03-31T22:06:06.777 に答える