无法检查用户是否处于角色ASP.NET Identity 2.0中
本文关键字:NET ASP Identity 角色 用户 检查 是否 于角色 | 更新日期: 2023-09-27 18:29:03
所以我试图构建Identiie的个人身份验证系统,但我对用户角色所做的每一次检查都返回false,这是我的登录控制器,如果我可以进行角色检查,我会重定向用户。
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
var r = Roles.IsUserInRole( "Trainer");
var y = User.IsInRole("Trainer");
return RedirectToAction("index", "Home");
每次我运行这个时,这两个方法(varsrandy)都会返回false。我已使用
启用RoleManager<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>
我当然有一个"培训师"的角色,因为我运行这个是为了让测试用户await UserManager.AddToRoleAsync(user.Id, "Trainer");
看起来您将Microsoft.AspNet.Identity
和System.Web.Security
混合在一起,但没有按预期工作。
我现在还不能尝试,但使用UserManager
应该会更好。类似的东西
SignInManager.UserManager.IsInRoleAsync(model.Email, "Trainer");
请参阅此SO答案以了解更多信息