我使用了Spring Security 3.0.5的功能「Remember-Me」,並在我的jsp頁面中嘗試訪問用戶的詳細信息。春天記得我沒有提供正確的用戶詳細信息
public class UserDetailsImpl implements UserDetails, Serializable
有一些額外的屬性(圖片網址,全名等)。 現在,如果使用
<sec:authentication property="details.pic"/>
我訪問這些屬性的正常登錄(其中還記得我有沒有踢)後,這一切工作正常。
但是,當我關閉瀏覽器並重新打開我的安全頁面時,記住我功能返回另一個對象而不是詳細信息對象。
我該如何解決這個問題? 還是應該治療兩種不同的病例?
謝謝。
後來編輯: 我結束了我的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>
它的工作,但我真的不喜歡的方式..
loadByUsername它被調用。問題在於,我沒有通過返回UserDetailsImpl,而是每次記住時都會得到一個org.springframework.security.web.authentication.WebAuthenticationDetails對象 - 我得到執行。 –
tXK
I認爲你想使用。 AuthenticationDetails是與UserDetails不同的概念。 –
sourcedelica
我更新了一些額外信息的主要帖子,你可以查看一下,看看我迄今爲止取得的成就 – tXK