2011-01-29 9 views
0

私はカスタムロールとメンバーシッププロバイダを実装しました。 と私は質問を持って、ユーザーが役割を得るとき??? 私は次のようなものを持っています:asp mvc 2ロールとメンバーシップ

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

があります。 しかし、その後、いくつかのコントローラでは、私が使用します。

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

、それは常にfalse、ユーザーのような任意の役割を持っていません。

最終的に、ユーザーがこのロールを取得し、どこに格納されるのか

答えて

2

IsInRoleメソッドは、role providerを照会して、現在ログインしているユーザーに役割があるかどうかを判断します。既定のテンプレートを使用して新しいASP.NET MVCアプリケーションを作成すると、データベースにロールを格納することを意味するSQLロールプロバイダが使用されます。したがって、新しいユーザーを作成するときに役割を割り当てることができ、User.IsInRoleを使用すると、データベースにクエリが実行されます。詳細はこちらのblog postをご覧ください。

+1

thx。 in config = enabled = "false"、trueに変更すると動作しました。 – eba

関連する問題