2017-02-26 8 views
0

私はASP.NET MVC 5を使用しています。私はユーザーとは別の役割をしたい "エキスパート"を登録する登録ページを作成しています。あらかじめ生成されたAspNetRolesテーブルには、IDと名前列があります。私が試してこれを調べるたびに、文字通りロールを作成する方法についての管理者用のページを作成する方法を示すものが得られます。私は自分のデータベースでその役割を果たすだけで、エキスパートの登録ページを使って作成したときにそれをユーザーに割り当てることができます。私は役割を果たすことができるページを望んでいない、私はビジュアルスタジオでこれを直接行うことができるようにしたい。おかげさまで ASP.NETで事前生成されたデータベースを使用してロールを作成する方法

答えて

1

これを試してください。

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

登録ユーザーのこのようなユーザー。

var user = new ApplicationUser { 
    UserName = "John Doe", 
    Email = "[email protected]" 
}; 

// params: username and password 
var result = await UserManager.CreateAsync(user, "name_birthday_cheeky"); 
if (result.Succeeded) 
{ 
    UserManager.AddToRole(user.Id, "expert"); 

    //code omitted for brevity 
} 
+0

私の質問のある部分は非常にうまくいきます。今、私は、 "役割の専門家は存在しません"というエラーを受け取りました。その役割をAspNetRoleテーブルにどのように取得するのですか?このプロジェクトで作業している他の人たちも同じことをデータベースに持たないからです。それはstartup.csの中の何かですか? – natemiklas1

関連する問題