WebアプリケーションでApache Shiroを使用しています。ログインと認証チェックがうまく動作しますが、私はログアウト/再ログインメカニズムを実装するために問題を抱えている:Shiro:セッションは既に無効にされています
private void logout(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
log.debug("do logout");
Subject subject = SecurityUtils.getSubject();
subject.logout();
resp.sendRedirect("end.html");
}
しかし、ログアウトして再ログイン後、私は次を得る:ログアウトは、サーブレットで行われますエラー:
org.apache.shiro.session.InvalidSessionException: java.lang.IllegalStateException:
getAttribute: Session already invalidated
at org.apache.shiro.web.session.HttpServletSession.removeAttribute(HttpServletSession.java:167)
at org.apache.shiro.session.ProxiedSession.removeAttribute(ProxiedSession.java:135)
at org.apache.shiro.subject.support.DelegatingSubject.clearRunAsIdentities(DelegatingSubject.java:424)
at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:246)
ログインは次のように行われている(UIコンポーネントの方法で、私はUIフレームワークとしてZKを使用):
private void tryLogin(UsernamePasswordToken token) {
Subject subject = SecurityUtils.getSubject();
try {
subject.login(token);
...
私は、ログアウトなどの例外を理解していませんfr om shiroはセッションを無効にし、再ログインは新しいセッションにアクセスする必要があります。ヘルプ
こんにちは、私はまだ同じ問題 'のgetAttributeを取得し、史郎バージョン' 1.2.4'を使用しています:セッションはすでにログアウトして再ログイン後invalidated'。どんな助け? – Newbie