[英]Spring security - same page to deliver different content based on user role
我試圖搜索與我的問題相關的任何先前帖子,但找不到任何帖子。 我有一個方案,其中頁面處理3個不同的方案,其中之一不起作用。 根據用戶是經過身份驗證還是匿名的,此頁面返回不同的內容。
本地主機:8080 / myApp / muUrl?test = authenticatedContent->用於方案1和2本地主機:8080 / myApp / muUrl?test = anonymousContent->用於方案3的方案:
1)經過身份驗證的用戶訪問頁面網址-用戶獲得顯示的正確信息。 工作正常
2)帶有需要身份驗證的參數的匿名用戶訪問頁面URL-如果是匿名用戶,則對其訪問的內容進行第二級檢查。 例如,基於GET參數,可以使用自定義邏輯來確定是否必須對用戶進行身份驗證。 在這種情況下,頁面將被重定向到登錄頁面(WORKS很好)。
3)匿名用戶使用不需要身份驗證的參數訪問頁面URL-在這種情況下,我得到SAvedRequest並重定向到該URL,這使我進入了無限循環。
我是否遺漏了一些非常明顯的內容,或者AuthenticationProcessFilterEntryPoint中是否有一種方法可以說“不要重定向到LOGIN頁面而是對其進行處理”?
謝謝。
我終於找到了解決方案(有人在Spring論壇上向我建議了)。 想法是按如下所述在控制器中使用@PreAuthorize
批注: 請參見此處
請參見下面的代碼示例:
@RequestMapping("/")
@PreAuthorize("isAuthenticated()")
public String authenticatedHomePage() {
return "authenticatedHomePage";
}
@RequestMapping("/")
public String homePage() {
return "homePage";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.