Spring Security 3.0.5 の機能「Remember-Me」を使用し、jsp ページでユーザーの詳細にアクセスしようとしました。
public class UserDetailsImpl implements UserDetails, Serializable
いくつかの追加の属性 (画像の URL、フルネームなど) があります。を使用してこれらの属性にアクセスすると
<sec:authentication property="details.pic"/>
通常のログイン後 (remember me 機能が作動しない場合)、すべて正常に動作します。
しかし、ブラウザーを閉じて保護されたページを再度開くと、記憶機能は詳細オブジェクトではなく別のオブジェクトを返します。
どうすればこれを修正できますか? それとも、2つの異なるケースを扱うべきですか?
ありがとうございました。
後で編集: 私は自分のjspにこれを持っていました:
<sec:authorize access="isRememberMe()">
<c:set var="user" value="${pageContext.request.userPrincipal.principal}" />
</sec:authorize>
<sec:authorize access="isFullyAuthenticated()">
<c:set var="user" value="${pageContext.request.userPrincipal.details}" />
</sec:authorize>
それは仕事をしますが、私はそのアプローチがあまり好きではありません..