1

私のMVCアプリケーションでは、プリンシパルオブジェクトを取得しようとしてログインした後でも、

Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();

認証は null として返されます。

Spring セキュリティのコンテキストでは、

<intercept-url pattern="/test/user/login" access="IS_AUTHENTICATED_ANONYMOUSLY" />

Web.xml でのサーブレット マッピング:

<servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

私はMVCの実装が初めてです。これを修正するのを手伝ってください。

4

1 に答える 1

0

「リダイレクト」があるたびに、Spring Security が新しいコンテキストをインスタンス化するようです。
したがって、getContext()は、ログインで使用したオブジェクトではなく、新しいオブジェクトを返します。誰かがセッションからコンテキストを取得することを提案しました。
この投稿への回答を参照してください。
" Spring の SecurityContextHolder.getContext().getAuthentication() は、RedirectView が HTTPS/SSL で使用された後に null を返します"

于 2014-07-22T16:39:09.700 に答える