C# 如何在Web窗体中实现ASP.NET标识中的角色
我使用以下代码成功创建了一个新用户:C# 如何在Web窗体中实现ASP.NET标识中的角色,c#,asp.net-identity,C#,Asp.net Identity,我使用以下代码成功创建了一个新用户: protected void btnRegister_Click(object sender, EventArgs e) { // Default UserStore constructor uses the default connection string named: DefaultConnection var userStore = new UserStore<IdentityUser&g
protected void btnRegister_Click(object sender, EventArgs e)
{
// Default UserStore constructor uses the default connection string named: DefaultConnection
var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore);
var user = new IdentityUser() { UserName = txtbxUserName.Text };
IdentityResult result = manager.Create(user, txtbxPassword.Text);
if (result.Succeeded)
{
var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
var userIdentity =
manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
authenticationManager.SignIn(new AuthenticationProperties() { }, userIdentity);
Response.Redirect("~/MoneyFly");
}
else
{
litStatusMessage.Text = result.Errors.FirstOrDefault();
}
}
我努力复制代码中的内容
这部分是因为它包含一个自动生成的类,我没有这个类
ApplicationDbContext context = new ApplicationDbContext();
如何生成dbContext。它在框架的使用中似乎至关重要。
例如,这行代码使用它来创建RoleStore的实例
var roleStore = new RoleStore<IdentityRole>(context);
var-roleStore=新的roleStore(上下文);
我找到了解决方案
这个解决方案对我有效
var roleStore = new RoleStore<IdentityRole>();
var roleMgr = new RoleManager<IdentityRole>(roleStore);
IdentityResult IdRoleResult = roleMgr.Create(new IdentityRole { Name = "Administrator" });
var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore);
IdentityResult IdUserResult = manager.AddToRole( manager.FindByName("vi").Id, "Administrator");
var-roleStore=new-roleStore();
var roleMgr=新角色管理器(角色存储);
IdentityResult idrolesult=roleMgr.Create(新IdentityRole{Name=“Administrator”});
var userStore=new userStore();
var-manager=新的UserManager(userStore);
IdentityResult IdUserResult=manager.AddToRole(manager.FindByName(“vi”).Id,“管理员”);
您不必向RoleStore构造函数提供DBContext。ApplicationDbContext是从EntityFramework的DBContext类继承的类类型。您可能需要阅读EntityFramework以了解DbContextdan mann,这里有一个链接可以帮助您实现您试图构建的大部分内容。当我最近为我的组织建立了我的第一个帐户登录时,这对我来说是一个很大的帮助。我知道这是代码优先。但是,生成数据库然后生成ApplicationDBContext的过程是什么?
var roleStore = new RoleStore<IdentityRole>();
var roleMgr = new RoleManager<IdentityRole>(roleStore);
IdentityResult IdRoleResult = roleMgr.Create(new IdentityRole { Name = "Administrator" });
var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore);
IdentityResult IdUserResult = manager.AddToRole( manager.FindByName("vi").Id, "Administrator");