2011-01-29 214 views
0

我實現了自定義角色和成員資格提供程序。 和我有問題,當用戶獲得角色? 我有類似的東西:asp mvc 2角色和成員資格

if (provider.ValidateUser(model.UserName, model.Password)) 
      { 
      FormsAuthentication.SetAuthCookie(userName, createPersistentCookie); 
      } 

工作。 不過,在某些控制器,我使用:

if (!User.IsInRole("user")) 
      return RedirectToAction("Index", "Home"); 

,它總是假的,喜歡的用戶沒有任何作用。

所以最後,當用戶得到這個角色,以及他們存儲在哪裏?

回答

2

IsInRole方法查詢role provider以確定當前登錄的用戶是否具有角色。當您使用默認模板創建新的ASP.NET MVC應用程序時,它將使用SQL角色提供程序,這意味着它將角色存儲在數據庫中。所以當你創建一個新用戶時,你可以爲他分配角色,當你使用User.IsInRole時,它會查詢數據庫。這裏有一個blog post,它更詳細地描述。

+1

thx。在配置被啓用=「假」,改爲真使它的工作。 – eba

相關問題