私はSpring Securityの新機能ですので、私はそれを試して、私が取り組んでいるプロジェクトに役立つ設定を見つけるために小さなwebappを作った。 私はHTTPSを介してアクセスするために私のログインページを強制しています、と私はログイン後に戻ってHTTPに切り替える必要があり、他の言葉では:。Spring Security 3.1.0 - HTTPSからHTTPに切り替えることはできません
- ログインページ:HTTPSのみ
- 他のページ:HTTPのみ を
私はいくつかの方法を試みましたが、上記のように動作させることはできません。 私はSpring Security FAQを読んでいて、私が望むことをするのは自然な方法ではないが、そうするように求められているので、私は自分で見つけることができない回避策が必要です。
私はSpring Security 3.1.0を使用しています。 私のWebコンテナはTomcat 6.0.33です。
これは私の春のセキュリティの設定です:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:sec="http://www.springframework.org/schema/security"
xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<sec:http auto-config="true" use-expressions="true">
<sec:intercept-url pattern="/log*.htm" access="anonymous"
requires-channel="https" />
<sec:intercept-url pattern="/admin/**" access="hasRole('admin')"
requires-channel="http" />
<sec:intercept-url pattern="/**"
requires-channel="http" access="hasRole('authenticated')" />
<sec:form-login login-page="/login.htm"
default-target-url="/index.htm" authentication-failure-url="/login.htm?error=true"
always-use-default-target="true" />
<sec:logout logout-url="/logout.htm" delete-cookies="JSESSIONID" invalidate-session="true" />
<sec:anonymous/>
<sec:remember-me use-secure-cookie="true" />
</sec:http>
<sec:authentication-manager>
<sec:authentication-provider>
<sec:user-service>
<sec:user name="johnny" password="johnny" authorities="authenticated, admin" />
<sec:user name="charlie" password="charlie"
authorities="authenticated" />
</sec:user-service>
</sec:authentication-provider>
</sec:authentication-manager>
</beans>
任意の助けが理解されるであろう。 ありがとうございます!
これはあまりお勧めできません。それは、セッションクッキーが盗まれるのを許します、Firesheep-スタイル。 –
はい、それは正しい解決策ではないことは分かっていますが、構築しているアプリケーションの種類とサーバーの負荷によっても異なると思います。残念ながら、この場合、私はいくつかの(暗い)理由のためにそうするよう求められました。とにかくあなたのコメントをありがとう、私たちはこのアプローチが非常に脆弱であることを忘れるべきではありません。 – nomusicnolife