如标题所示 User.IsInRole() 在控制器中始终返回false,但在视图中效果良好。此外,我无法设置 <roleManager enabled="true" /> ,因为在生成项目时出现以下错误
User.IsInRole()
<roleManager enabled="true" />
在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。此错误可能是由于未将虚拟目录配置为IIS中的应用程序所致。
有什么建议吗?或者是否有其他方法来检查当前用户是否在角色中? (我试过了 Roles.IsUserInRole(User.Identity.Name, "Recruit") 但我得到了同样的结果)。我正在使用ASP。NET MVC 5和。网络标识6.2
Roles.IsUserInRole(User.Identity.Name, "Recruit")
Roles.IsUserInRole 是MembershipProvider的一部分。如果您使用的是Asp。Net标识,您需要使用 RoleManager ( MSDN )取而代之的是。
Roles.IsUserInRole
RoleManager
原因是您可以使用 User.IsInRole -Identity framework支持此调用,它查看cookie,检查cookie中可用的角色。
User.IsInRole