注意,我正在使用c#MVC 3,我试图在一个类而不是控制器中使用它。
我的程序顶部有以下内容
using System.Web.Security;
我尝试执行以下操作,但收到消息:
名称“用户”在当前上下文中不存在。
这是我的部分代码:
using System.Web.Security;
....
....
if (User.IsInRole("Admin"))
{
}
我认为这与名称空间有关,但是在查看文档时,我需要的只是System.Web.Security。
最佳答案
首先尝试:执行视图时,检查控制器HttpContext.Current.User.IsInRole("Admin")
中的以下内容-此行检查您的值。
如果您已加载当前的HttpContext,它应该返回一个bool
值。
解决方案2:查看默认的mvc3项目:
Context.User.IsInRole("Admin")
而不是
Page.User.IsInRole("Admin")
。另外:您可以查看有关如何设置角色用法的帖子-User.IsInRole(" ") without using Membership。
在
ASP.NET MVC Membership
类中查找以下用法:Membership and Authorization in ASP.Net MVC 3 Razor
SimpleMembership, Membership Providers, Universal Providers and the new ASP.NET 4.5 Web Forms and ASP.NET MVC 4 templates
Asp.net membership - how to determine programmatically is user is in role
ASP.NET MVC Membership Roles
关于c# - C#User.IsInRole命名空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14246376/