簡體   English   中英

Spring安全性-同一頁面可根據用戶角色交付不同的內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM