4

これは、春のセキュリティ フォーム ログインのサンプル構成です。

<http auto-config="true" use-expressions="false">
      <form-login login-processing-url="/static/j_spring_security_check"
                  login-page="/login"
                  authentication-failure-url="/login?login_error=t"/>
  </http>

明示的な login-processing-url を指定しない場合、Spring はそれを「/j_spring_security_check」のみと見なします。デフォルトとオーバーライドされたものとの間に機能的な違いを見つけることができず、Spring が変更をシームレスに処理することがわかりました。いつオーバーライドする必要があるかを理解するために、グーグルをやろうとしました。どの答えも私を満足させませんでした。

では、いつ、なぜデフォルトの login-processing-url をオーバーライドする必要があるのでしょうか? そして最も重要なことは、デフォルトを「オーバーライドする必要がある」場合のユースケースはありますか?

ありがとう

4

1 に答える 1

9

Spring Security を使用しているという事実を隠したい場合はlogin-processing-url、ユーザー名とパスワードのフォーム パラメータだけでなく、「forms/login」などにオーバーライドする必要があります。これにより、サイトを保護するために使用しているフレームワークを隠すことができます。

<form-login>タグは、UsernamePasswordAuthenticationFilterを構成するための省略形です。このフィルターは、で指定された URL によってのみ呼び出され、要求からのユーザー名とパスワードとしておよびにlogin-processing-url設定された値を使用します。username-parameterpassword-parameter

于 2013-05-03T13:13:23.597 に答える