【发布时间】:2018-07-14 00:11:51
【问题描述】:
正如标题中的 User.IsInRole() 总是在控制器中返回 false,但在视图中运行良好。另外我不能设置
<roleManager enabled="true" />,因为我在项目构建时遇到以下错误
在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的部分是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序所致。
有什么建议吗?或者有没有其他方法可以检查当前用户是否在角色中?
(我试过Roles.IsUserInRole(User.Identity.Name, "Recruit") 但我得到了相同的结果)。我正在使用 ASP.NET MVC 5 和 .NET Identity 6.2
【问题讨论】:
-
你在构建过程中仔细查看错误了吗?您的应用程序是否在 IIS 中设置为应用程序(不是虚拟目录)?
-
如何查看?
-
现在我发现我可以在 View 中使用 User.IsInRole() 但不能在控制器中使用它。有什么想法吗?
-
在哪里在控制器中?请注意,控制器构造函数在设置用户之前运行。
标签: c# .net asp.net-mvc asp.net-identity roleprovider