簡體   English   中英

Asp.net 5 MVC 6自定義身份驗證

[英]Asp.net 5 MVC 6 Custom authentication

我花了兩個星期的時間尋找解決方案,使我可以進行基於權限的身份驗證。 我有這樣的數據庫架構

User <- Role <--> Permissions

用戶只有一個角色,該角色使用多對多關系與權限相關聯

我已經為這些實體編寫了模型。

我從Asp.Net Identity開始,但是它的默認架構不是為基於權限的身份驗證而設計的。

我也嘗試使用Cookie中間件,但無法覆蓋ClaimsPrincipal並使用我的用戶帳戶模型

我目前唯一能做的就是從一開始就編寫一個使用會話的簡單身份驗證庫,但是由於安全性問題,這是一個壞主意

新版本的Asp.Net mvc的文檔尚未完成,但是也許有人知道如何幫助我? :/

有兩種選擇。

  1. 您將權限映射到聲明。 角色實際上只是您場景中的一個分組,並非您會授權的角色。 因此,在創建用戶聲明主體時,您將為每個權限添加聲明,然后在授權策略中對其進行驗證。
  2. 您創建角色聲明,然后在授權策略中進入數據庫,並從中提取權限,查看角色是否滿足策略。 授權需求處理程序可以采用DI注冊的類 ,因此您將在應用程序啟動時注冊PermissionsProvider,然后在處理程序的構造函數中對其進行引用。

您可以利用cookie身份驗證系統身份使用,而不必自己動手,免費獲得簽名驗證。 您所需要做的,至少是實現登錄,注銷和禁止頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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