c#User.IsInRole命名空间

Nat*_*Pet 3 c# asp.net-mvc asp.net-membership asp.net-mvc-3

注意,我正在使用c#MVC 3,我试图在一个类中使用它,而不是一个控制器.

我的程序顶部有以下内容

    using System.Web.Security;
Run Code Online (Sandbox Code Playgroud)

我尝试执行以下操作但收到消息:

"User"这个名称在当前上下文中不存在.

这是我的部分代码:

     using System.Web.Security;
     ....
     ....

     if (User.IsInRole("Admin"))  
     {

     }
Run Code Online (Sandbox Code Playgroud)

我认为必须对命名空间做一些事情但是查看文档,我需要的只是System.Web.Security.

EL *_*bov 8

首先尝试:在执行视图时,检查控制器中的以下内容HttpContext.Current.User.IsInRole("Admin") - 此行检查您的值.

bool如果您加载了当前的HttpContext,它应该返回一个值.

解决方案#2: 查看默认的mvc3项目:

Context.User.IsInRole("Admin")
Run Code Online (Sandbox Code Playgroud)

而不是Page.User.IsInRole("Admin").

此外:您可以查看此帖子,了解如何设置角色的使用 - User.IsInRole("")而不使用成员资格.

查找以下用法 ASP.NET MVC Membership类: