AddToRole()方法不会在ASP中生成数据库条目.净的身份
本文关键字:数据库 身份 方法 ASP AddToRole | 更新日期: 2023-09-27 18:10:00
我正在使用ASP。. NET身份在我的ASP。我的问题发生在添加用户到角色。没有任何例外,但是作为um.AddToRole()的结果,没有db条目被添加到AspNetUserRoles表中。我的动作方法是这样的:
public ActionResult GrantAdmin(string id)
{
ApplicationUser user = um.FindById(id);
if (!rm.RoleExists("admin"))
{
rm.Create(new IdentityRole("admin"));
}
um.AddToRole(user.Id, "admin");
return View((object)user.UserName);
}
um是UserManager类的对象:
private UserManager<ApplicationUser> um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
这种应用程序行为的原因是什么?任何想法?
= = = = = =进行编辑这是我的DbContext:
public ApplicationDbContext()
: base("DefaultConnection")
{
}
和Web.config中的默认连接:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)'v11.0;AttachDbFilename=|DataDirectory|'aspnet-RecommendationPlatform-20140404055015.mdf;Initial Catalog=aspnet-RecommendationPlatform-20140404055015;Integrated Security=True" providerName="System.Data.SqlClient" />
重要的是要记住,许多操作返回一个存储最终错误的结果对象。没有例外。因此,应该在每次操作后检查结果对象是否成功。这不仅适用于角色,而且适用于大多数将数据保存到数据库的方法。即使它可以工作,你仍然应该测试是否成功,如果结果不成功,最终抛出一个异常。
根据您案例中的评论,问题是无效的用户名。