2017-09-13 18 views
0

Springセキュリティを使用し、無駄な動作をする非常に基本的なSpringブートアプリケーションを取得しようと、私はそれを実行するときに動作するコードの一例を見つけることができません。Springセキュリティを使用したSpringブートWebアプリケーションのセキュリティ保護が機能しない

This例はspring.ioです。この例で私が見ているのは次のとおりです。

  1. 私はhttp://localhost:8080で始まり、ようこそ画面をご覧ください。
  2. http://localhost:8080/helloへのリンクをクリックすると、http://localhost:8080/loginにリダイレクトされます。
  3. WebSecurityConfig.javaで指定されているように「ユーザー」と「パスワード」を入力します。これにより、私はウェルカム画面に戻ります。私はhttp://localhost:8080/helloにリダイレクトされることを期待していました。
  4. http://localhost:8080/helloへの同じリンクをクリックすると、再度ログイン画面が表示されます。

@EnableWebSecurity(debug = true)でデバッグしようとしましたが、エラーはありません。

上記の経験は、すべての例をダウンロードしたときに私が経験するものの風土です。確かに私は春には新しく、おそらく私は初心者の設定ミスをしているようだ。どんな助けでも大歓迎です。

答えて

0

コードをダウンロードし、mavenを使用して実行しても問題なく動作します。ログイン後、以降のすべてのページロードでhttp://localhost:8080/helloをロードすると、もちろんログアウトしない限りログインページはロードされません。あなたが言及した問題は、あなたがそれが風土病であると言及して以来、非常に高い確率で引き起こされる可能性があります。その理由は、ブラウザがデフォルトのJSESSIONIDクッキー(最初のページ訪問時に設定され、その後、同じJSESSIONIDがサーバに送信され、それは今認証された/許可されたユーザを含むサーバに格納されたセッションオブジェクトのキーになります。 (1つの理由は、ブラウザの設定で無効になっている可能性があります)、あなたのアプリケーション(春のセキュリティで保護されている)は、あなたがすでに認証されていることを知らず、ログインページを再度表示します。設定 - >コンテンツ設定 - > Cookies - >サイトにCookieデータの保存と読み取りを許可する(推奨)。各ページに渡されたCookieヘッダーを表示することもできます。それぞれのブラウザで開発者ツールを使用します。

関連する問題