User.IsInRole() 总是只在控制器中返回 false



如标题中User.IsInRole()在控制器中总是返回 false,但在视图中效果很好。此外,我无法设置 <roleManager enabled="true" />,因为我在项目构建时遇到以下错误

使用注册为 allowDefinition='MachineToApplication' 超出应用程序级别的部分是错误的。 此错误可能是由于虚拟目录未配置为 IIS 中的应用程序引起的。

有什么建议吗?或者有没有其他方法可以检查当前用户是否在角色中?(我尝试了Roles.IsUserInRole(User.Identity.Name, "Recruit")但我得到了相同的结果(。我正在使用 ASP.NET MVC 5 和 .NET Identity 6.2

Roles.IsUserInRole是MemberProvider的一部分。如果您使用的是 Asp.Net 标识,则需要改用RoleManager (MSDN(。

原因,因为您可以使用User.IsInRole - 标识框架支持此调用,它会查看 cookie,检查 cookie 中可用的角色。

相关内容

  • 没有找到相关文章

最新更新