2011-05-19 158 views
1

我正在使用MongoDB來存儲用戶和密碼(而不是sql)。我有自己的分配角色給用戶的機制。我想裝飾我的角色控制器動作,如下:ASP.NET MVC使用自定義身份驗證時分配角色

[Authorize(Roles = "Administrators")] 

我登錄的代碼如下所示:

if (mongo.AuthenticateUser(model.UserName, model.Password)) 
{ 
    FormsService.SignIn(model.UserName, model.RememberMe); 
} 

什麼是最簡單的辦法,我「戳」一個用戶的角色到用戶首次登錄時(數據庫將爲我提供角色名稱,我只需要在用戶上下文中設置它們)。我想我在尋找我的代碼看起來是這樣的:

if (mongo.AuthenticateUser(model.UserName, model.Password)) 
{ 
    if ((mongo.IsAdmin) 
    { 
     // How do I grant the admin role??? 
     SomeSortOfUserContext.Add('Administrators');???????? 
    } 
    FormsService.SignIn(model.UserName, model.RememberMe); 
} 

回答

0

添加角色的用戶主要在Application_AuthenticateRequest在Global.asax中。

檢查this出;

相關問題