現在、コントローラーとgspページの両方でデフォルトのHttpSessionオブジェクトを使用しています。
コントローラの場合:
...
session.mykey = anObject; // adding an object to session
...
if (session.otherkey) { // performing some checking
GSPの場合:
...
<g:if test="${session.mykey}">
...
「rememberme」機能が欲しいのですが。Shiroにはすでに組み込まれています。ただし、私が理解している限り、これを行うには、shiroネイティブセッションモード(Config.groovy:security.shiro.session.mode = "native")を使用する必要があります。デフォルトでは、セッション状態が保持されるため、Cookieの有効期限が切れるか、ユーザーがログオフする限り、オブジェクトはセッションに残ります。
私の理解は正しいですか?
次に、コントローラーを次のように変更する必要があります。
def shiroSession = SecurityUtils.subject.session
shiroSession.setAttribute("mykey",anObject)
....
if (shiroSession.getAttribute("otherkey") ){
そしてこれに対する私の見解:
<g:if test="${SecurityUtils.subject.session.getAttribute('mykey')}">
だから、私の質問は次のとおりです。
- そうですか?
- 以前の方法を使用してセッションにアクセスすることはできませんか?
- 一部の構成でデフォルトのhttpセッションをオフにする必要がありますか?