認証されたユーザーと認証されていないユーザーの両方がアクセスできるリソースを作成しようとしています。また、remember-me認証も実施しています。リソース(ページ)にアクセスするユーザーの場合、remember-me認証でそのユーザーにサインインしてみてください。サインインが成功しなかった場合でも、ページは表示されますが、動作が異なります。セキュリティインターセプトURLを作成するときは、「none」または「Role_User」のいずれかを選択できます。ROLE_USERを試行する方法でSpringを機能させることはできますか?成功しない場合は、正常に「None」に低下しますか?これが私の春の設定がどのように見えるかです。
<security:http auto-config='true'>
<security:intercept-url pattern="/dynamicPage" filters="none"/>
<security:intercept-url pattern="/**" access="ROLE_USER" />
<security:form-login login-page="/index"
default-target-url="/home" always-use-default-target="true"
authentication-success-handler-ref="AuthenticationSuccessHandler"
login-processing-url="/j_spring_security_check"
authentication-failure-url="/index?error=true"/>
<security:remember-me key="myLongSecretCookieKey" token-validity-seconds="1296000"
data-source-ref="jdbcDataSource" user-service-ref="AppUserDetailsService" />
</security:http>
動的ページでremember-meauthを使用して「Role_User」を試行し、失敗を待ってから「none」にフォールバックしたいと思います。これを行うための推奨される方法はありますか?
isRememberMe()や連鎖式のような式については学びませんでしたが、この問題をどのように解決できるかはまだわかりません。私が欲しいのはこんな感じです。
<security:intercept-url pattern="/dynamicPage" filters="ROLE_USER,none"/>
getAuthoritiesクエリでは何も返されないため、これを行う他の方法を見つける必要があります。