在由标识创建的 AspNetUserRoles 表中分配角色
本文关键字:分配 角色 AspNetUserRoles 标识 创建 | 更新日期: 2023-09-27 17:55:48
我真的不明白如何使用这个身份的东西,下面我尽力了,我没有错误,但它什么也没做,我想知道为什么。我还检查了这个:
在新的VS 2013身份用户管理器中动态添加角色
将用户添加到角色 ASP.NET 标识
数据库中的表被修改了,我有:Id(自动增量,主键),RoleId,UserId - 默认情况下和没有主键。
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
// Default UserStore constructor uses the default connection string named: DefaultConnection
var userStore = new UserStore<IdentityUser>();
var roleStore = new RoleStore<IdentityRole>();
var manager = new UserManager<IdentityUser>(userStore);
var RoleManager = new RoleManager<IdentityRole>(roleStore);
var user = new IdentityUser { UserName = CreateUserWizard1.UserName };
var role = new IdentityRole { Id = RadioButtonList1.SelectedValue};
//Create new user and try to store in DB.
if (CreateUserWizard1.Password.ToString() == CreateUserWizard1.ConfirmPassword.ToString())
{
try
{
IdentityResult result = manager.Create(user, CreateUserWizard1.Password.ToString());
if (result.Succeeded)
{
var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
var userIdentity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
var selectedRole = RadioButtonList1.SelectedValue;
var currentUser = manager.FindByName(user.UserName);
var roleResult = manager.AddToRole(currentUser.Id, selectedRole);
authenticationManager.SignIn(new AuthenticationProperties(), userIdentity);
.
.
我不是在寻找使用视觉工作室制作的经典解决方案。我有SQL的用户配置文件并且工作正常,但是我的角色现在搞砸了。如果我手动放入该SQL表RoleId和UserId认为,它们工作正常。
您是否尝试使用其他 UserStore 构造函数和另一个 RoleStore 构造函数。
它们都接受数据库上下文作为参数。
在您提供的两个链接中,都使用了带有参数的构造函数。