2

目前正在開發幾個應用程序(MVC和Web API),我的MVC應用程序將向API發送請求以獲得身份驗證和「登錄」。我已經有了它,所以我的所有MVC應用程序所要做的就是存儲來自Web API的不記名令牌,並在需要請求數據時隨時添加它。使用角色生成身份用戶

在程序中的這一點,我們希望開始使用授權和一些安全修整來限制哪些用戶可以向API發出某些請求,以及哪些用戶能夠在MVC應用程序中查看特定頁面。爲了做到這一點,我需要從我的API獲取角色,並在MVC端模擬身份用戶,因爲他們在技術上已經登錄。我現在的問題可能有點簡單,但我無法確定瞭解如何在生成身份用戶時聲明角色。現在我只需要一個我們可以明確聲明的測試用例,然後一旦我們開始從API傳遞角色,我就可以抓住它。

任何想法如何用角色做出這個功能的例子嗎?

private IdentityUser GenerateIdentityUser(string IdNum, string userN) 
     { 
      var newUser = new IdentityUser 
      { 
       Id = IdNum, 
       UserName = userN, 
       // Roles = 
       SecurityStamp = DateTime.Now.Ticks.ToString() 
      }; 

      return newUser; 
     } 

回答

1

IdentityUserRoles酒店有私家二傳手(見codeplex source code)。 IdentityUser的構造函數總是創建一個空的角色列表,以便它不會爲空。

要設置一個角色,你需要初始化你NEWUSER對象之後,再添加以下行:

newUser.Roles.Add(new IdentityUserRole {UserId = newUser.Id, RoleId = "your role id"}); 
+0

這偉大的工作謝謝。正是我在找什麼。 – tokyo0709

相關問題