2016-06-28 13 views
0

dropwizardを使用していくつかの残りのWebサービスを書きました。次に私はthis質問で説明したリソースを確保するためにdropwizard-shiro bundleを使用しました。私はまた、私のリソースをテストするためにスワッガーUIを使用しました。すばらしいUIですべてうまく動作しました。私はこれらのサービスを利用するPHP Webアプリケーションを作成しました。私のログインサービスを呼び出すログインページがPHPアプリケーションにあります。ログインは成功しますが、PHPアプリケーションを通じて他のリソースにアクセスしようとすると、Unauthorized Accessエラーが発生します。なぜこのエラーが発生するのですか?作成されたセッションが期限切れになるためですか?Dropwizard-Shiro:ログイン後でも不正なアクセス

答えて

0

同じ問題がありました。isAuthenticated()は、ログインして他のjax-rsリソースにアクセスしようとした後にfalseを返します。私のシナリオでは、要求を行うAXIOSを持つReactJSクライアントです。

私はそれを修正しました(それは間違っていたFrontendでした): ChromeConsoleでは、サーバーにCROSS-ORIGINが送信されていないことがわかりましたので、AXIOSでxmlhttprequestを実行しませんでしたHTTP-ヘッダー:セットクッキー、クッキーなど)

それから私は$アヤックス

xhrFields: { 
    withCredentials: true 
}, 

でそれをやったし、すべてがOKです。 ShiroはJsessionidをHTTP専用クッキーから明らかに外しています。それがなぜ機能していないのかという明確なエラーメッセージはありませんでした。私は何らかの形であなたを助けることができると期待しています:-)

関連する問題