无法检查用户是否处于角色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");

无法检查用户是否处于角色ASP.NET Identity 2.0中

看起来您将Microsoft.AspNet.IdentitySystem.Web.Security混合在一起,但没有按预期工作。

我现在还不能尝试,但使用UserManager应该会更好。类似的东西

SignInManager.UserManager.IsInRoleAsync(model.Email, "Trainer");

请参阅此SO答案以了解更多信息