0

/admin私がと/loginサイトを持っていると仮定しましょう。/adminユーザーは保護されたサイトにアクセスしたい(ログインが必要)。ログインユーザーが にリダイレクトされた後、Spring セキュリティはクレジットについてユーザーに尋ねますdefault-target-url。次に、/adminログイン フォームにアクセスしてもう一度確認します。なにが問題ですか?

Spring sill はサイトへのログインが必要ですが、サイトに入ることができません。

設定

    <security:http auto-config="true" use-expressions="true">
        <security:intercept-url pattern="/admin/*" access="hasRole('ROLE_ADMIN')"/>
        <security:form-login default-target-url="/succes"/>
        <security:session-management/>
    </security:http>

    <bean id="service" class="com.springapp.mvc.dao.HibernateService"/>

    <bean id="sessionRegistry" class="org.springframework.security.core.session.SessionRegistryImpl"/>

    <bean id="saltSource" class="org.springframework.security.authentication.dao.ReflectionSaltSource">
        <property name="userPropertyToUse" value="username"></property>
    </bean>

    <bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>

 <security:authentication-manager>
        <security:authentication-provider user-service-ref="service">
            <security:password-encoder hash="md5">
                <security:salt-source ref="saltSource"/>
            </security:password-encoder>
        </security:authentication-provider>
    </security:authentication-manager>
4

1 に答える 1

0

それは本当に興味深いもので、最初は通常の設定で問題なく動作していたため再現できませんでしたが、ブラウザで Cookie を無効にする問題を再現できました。

だから解決策は

ブラウザで Cookie を有効にする必要があるだけです。最初にログインすると許可され、ターゲット URL (この場合は安全ではありません) に渡されます/admin/somepage。追跡。

ブラウザーがセッション追跡のために Cookie と URL 書き換えを処理する方法を知っていることを願っています。

注:これは私が再現できる問題の 1 つにすぎないように思われます。これがあなたのケースでない場合は、問題を再現するためにコントローラーと手順を共有する必要があります。

于 2013-06-23T13:02:58.447 に答える