2017-01-27 5 views
0

私は次の操作を実行しようとしています:System.Web.Security.Roles.GetRolesForUser()pr0blem

var roles = System.Web.Security.Roles.GetRolesForUser(userFromDb.UserName).ToList(); 
    userViewModel.UserRoles = roles; 

後に何が起こったのは、私はこのエラーを得たことである:「ロールマネージャ機能を持っています有効になっていません。

@if (User.IsInRole("Administrator") == true) 

と私を与える:今、私は私のアプリを起動して、レイアウトページは、それが次の行に到達したロードされたとき

<system.web> 
    <roleManager enabled="true"/> 
    </system.web> 

は、だから、私はWebConfigのファイルに次を追加しましたこのエラー:「SQL Serverデータベースに接続できません」

Roles.GetRolesForUser()を使用するにはどうすればよいですか? または、ユーザーの役割を取得するために使用できるものは他にありますか?

+0

接続文字列はどこですか? –

答えて

0

私は同じ問題を持っていたし、しばらくした後、私はそれを行うための別の方法を見つけました:

//it gives you a List<string> whit the name of the roles 
var roles = UserManager.GetRoles(userGuid); 

あなたはすでにそれを持っていない場合、あなたのコントローラにこれを追加する必要があります:

private ApplicationUserManager _userManager; 

    public ApplicationUserManager UserManager 
    { 
     get 
     { 
      return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); 
     } 
     private set 
     { 
      _userManager = value; 
     } 
    }