注意,我正在使用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/

10-15 18:15