2017-05-26 57 views
1

任何人都可以在某些文檔中指出我在MVC應用程序中使用ApplicationUser的最佳做法嗎?在MVC應用程序中使用ApplicationUser

我有我要立足於ApplicationUser類(幾節課例如,「僱員」類使用的應用程序和一個「客戶」類給客戶一些訪問過內部人。

似乎我應該從ApplicationUser繼承或引用它作爲一個外鍵 - 但我不知道a)如何做到這一點或b)什麼是正確的方法。

(我使用的代碼第一次實體框架腳手架類。)

回答

1

我用this當我在寫與基於令牌授權一個REST API。它還包含實施電子郵件服務,刷新令牌服務等的良好實踐。有6篇文章着重於認證。一旦我必須將項目從MySql Membership Authorization遷移到Microsoft Identity,我將其作爲reference使用。在結構(類似CoreModels - >業務邏輯服務/供應商 - > UI提供商)方面我有一個單獨的項目,其中授權模塊有它的主要部件,如

  1. 的UserManager
  2. RoleManager
  3. SignInManager
  4. Rolestore的
  5. UserStore

以及供應商(你需要他們,如果你想使用

我勸你繼承ApplicationUser類並擴展它的任何方式基於聲明的授權或OAuth的)你喜歡

public partial class User : IdentityUser<Guid, UserLogin, UserRole, UserClaim> 
{ 
    public decimal Balance { get; set; } 

    public string NickName { get; set; } 

    public int AnotherEntityId { get; set; } 

    [ForeignKey("AnotherEntityId ")] 
    public virtual AnotherEntity AnotherEntity { get; set; } 

    public virtual ICollection<OtherEntity> OtherEntities { get; set; } 

    public User() 
    { 
     Id = Guid.NewGuid(); 
    } 
} 

,而不是包含關於用戶的幾乎類似信息2個表。角色將爲您提供訪問限制功能(如果客戶和員工應具有不同的訪問級別)