1

認証されたユーザーと認証されていないユーザーの両方がアクセスできるリソースを作成しようとしています。また、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クエリでは何も返されないため、これを行う他の方法を見つける必要があります。

4

1 に答える 1

2

私は「匿名認証」を使用します。この場合、ユーザーは認証されません。

追加

<security:anonymous key="anonymous-security" />

あなたの設定に

<security:intercept-url pattern="/dynamicPage" access="IS_AUTHENTICATED_REMEMBERED,IS_AUTHENTICATED_ANONYMOUSLY"/>

お役に立てば幸いです(私はこれを試していません)

于 2011-08-10T12:15:51.573 に答える