2

名前空間構成でSpring security3.1を使用しています。ログイン ページの完全な URL ではなく、コンテキスト パスまでブラウザに URL を入力すると、ログイン ページにリダイレクトしたいと考えています。

たとえば、http://xxx:8080/context/代わりにhttp://xxx:8080/context/login.html

完全な URL でログイン ページを表示できますhttp://localhost:8080/context/login.html

次のコードを試しました:

<http auto-config='true' authentication-manager-ref="authentication-manager" entry-point-ref="authenticationEntryPoint">

<beans:bean id="authenticationEntryPoint"      class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
 <beans:property name="loginFormUrl" value="/login.html"/>
 <beans:property name="forceHttps" value="true"/>
</beans:bean>


....

LoginUrlAuthenticationEntryPointログインページにリダイレクトするためのエントリも追加しましたが、機能していないようです。

4

1 に答える 1

3

いくつかのセキュリティ制約を追加すると、標準構成はログイン ページにリダイレクトされます。だから使う

<http use-expressions="true">
    <intercept-url pattern="/**" access="isAuthenticated()" />
    <form-login />
</http>

URL を要求すると、自動的にログイン ページにリダイレクトされます。を構成する必要はありませんAuthenticationEntryPoint

カスタマイズを試みる前に、基本的な例が機能することを確認してください。

また、構成が有効ではありませんhttp。ブロックの開始要素のみを投稿しました。それでも動作しない場合は、問題を再現する完全な構成を投稿してください。

于 2012-07-23T20:02:00.870 に答える