2017-12-20 14 views
0

私はshiroセキュリティフレームワークによって生成されたセッションIDクッキーを持っており、リクエストごとに渡されます。 shiroと有効なセッションIDを確認する方法はありますか?セッションIDを使用してApache Shiroとのセッションを認証します

以下のコードでセッションIDを渡して試しています。

Subject requestedSubject = new Subject.Builder().sessionId(sessionId).buildSubject(); 
return !(requestedSubject.getSession(false) == null); 

以下の例外

"exceptionClass" 行き方: "クラスjava.lang.IllegalArgumentExceptionが"、 "RESTMethod": "GET"、 "メッセージ":「SESSIONKEYに互換性HTTPでなければなりません 実装」、 "rootCausePointClass。": "org.apache.shiro.web.session.mgt.ServletContainerSessionManager"、 "rootCausePointMethod": "のgetSession"

何か間違っているか、セッションIDを検証するための他の方法があります。

+0

もう少しここでやろうとしているようですので、もう少し文脈が必要かもしれません。あなたのために、ShiroのWebモジュールがこれを実行します。 –

答えて

0

詳細はまだ書かれておらず、正確な質問は不明です。

Shiroはセッションとセッションの検証を管理していますが、これはフレームワークに組み込まれており、あなたはshiroがセッションをチェック/検証する仕組みに心配する必要はありません。

質問から明らかでないもう1つのことは、テクノロジースタックです。それはWebアプリケーションですか? Springのような他のサードパーティの図書館はありますか?しかしここにはguideがあります。

セッション(有効なセッションであっても)は、ユーザーがログインしたこと、または認証されたことを示すものではありません。次に、あなたが、これは「既知」のユーザであるかどうかをチェックし、null以外の元本があることを確認するために

Subject currentUser = SecurityUtils.getSubject(); 

:一度

User user = (User) currentUser.getPrincipal(); 

史郎から現在のユーザーを取得するには

もう一度、あなたの質問は曖昧ですが、私は正しい方向にあなたを導くことを願っています。

関連する問題