我在用於檢查控制器中的用戶權限的聲明中遇到了很多問題。如何使用.net核心在cookie中存儲聲明的JWT
應用結構
我們的後端是.NET的核心,前端反應,現在我們只允許採伐利用中使用谷歌谷歌的API支持電子郵件。我們生成一個JWT並將其存儲在瀏覽器的localStorage中,然後根據每個請求發送它。此外,沒有角色:如果你登錄,那麼你是一個管理員。
做了應用程序「骨架」的開發人員現在都不見了,這是我第一次處理安全問題。
了新的要求
我們現在需要實現角色和權限,它似乎MS預計一個用於該索賠。我做了這些,並將這些聲明添加到jwt,然後在配置中添加了策略,並且它實際上工作。如果您有特定的聲明,則可以訪問特定的控制器或方法,否則服務器將返回403錯誤。
但是後來我用一個實際的管理員角色登錄,使用devtools複製localStorage值,然後用幾乎沒有權限的用戶註銷並重新登錄。當我粘貼本地存儲條目時(再次使用devtools),我立即得到了所有聲明,並能夠訪問管理員可以訪問的每個控制器和方法。
看來正確的路要走,那麼應該使用僅Http,安全cookie,或許與「SAMEORIGIN」設置爲true(不知道這將如何影響單點登錄),但我不明白如何辦那。我看過博客文章,甚至下載了一個應用程序(我無法運行,但我將代碼複製到了我的應用程序中),但我一直在失敗。另外我不明白,如果我需要爲檢查控制器策略時使用的cookie做任何事情。
任何人都可以幫我一下嗎?