Asp.net-Mvc

ASP.NET Identity - 自定義 UserManager、UserStore

  • November 9, 2016

我對自定義 UserManager 和 UserStore 有點困惑。開箱即用的解決方案附帶 EF 實現,我不想使用 EF,但我自己的 DAL 使用 MSSQL。我希望擁有基於聲明的安全性,其中一個使用者聲明將是角色。

我感到困惑的是我應該做的整個過程。到目前為止我不明白的是我需要自己做

CustomApplicationUser : IUser
CustomUserManager : UserManager<CustomApplicationUser>
CustomUserStore : IUserStore, IUserClaimStore

問題:

  1. 我在正確的軌道上嗎?
  2. 我想在我的 CustomUserManager 上使用 IsInRole() 方法,但不確定如何使用 Claims。我知道在 UserManager.IsInRole() 中有預設 UserManager 呼叫的 IUserRoleStore.IsInRole() 但我不想在我的數據庫中使用單獨的 Roles 表。我想要的是 Claims DB 表,其中一個 ClaimType 是 Role 並且 UserManager.IsInRole() 使用它。現在,我不確定為什麼我需要 UserManager.IsInRole() 方法?我是否真的需要自定義 ClaimsIdentity SignInManager.CreateUserIdentityAsync() 之類的東西,並在其中呼叫我自己的填充所有使用者資訊(包括聲明)的實現?

這對我來說似乎有點令人困惑,我似乎無法找到一些關於它的明確文件,所以如果有人能對此有所了解,我將不勝感激!

我將不只是複制,而是將您指向以下文章:ASP.NET Identity 的自定義儲存提供程序概述

看看這個,它應該可以很好地概述身份在 ASP.NET 中是如何工作的。它還有助於選擇您想要在應用程序中覆蓋和自定義的內容。

引用自:https://stackoverflow.com/questions/40501820