asp.net mvc - c#用户.IsInRole名称空间

本文关键字:IsInRole 空间 用户 net mvc asp | 更新日期: 2023-09-27 17:51:05

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

我的程序顶部有以下内容

    using System.Web.Security;

我尝试做以下操作,但得到消息:

名称"User"在当前上下文中不存在。

这是我的部分代码:

     using System.Web.Security;
     ....
     ....
     if (User.IsInRole("Admin"))  
     {
     }

我认为它必须与名称空间做一些事情,但看看文档,我所需要的只是System.Web.Security。

asp.net mvc - c#用户.IsInRole名称空间

Try first:在执行视图时,检查控制器HttpContext.Current.User.IsInRole("Admin")中的以下内容-这一行检查您的值。

它应该返回一个bool值,如果你有当前的HttpContext加载。

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

Context.User.IsInRole("Admin")

代替Page.User.IsInRole("Admin")

另外:您可以查看这篇关于如何设置角色使用- User的文章。IsInRole(" ")不使用成员关系。

查看 ASP.NET MVC Membership类的用法:

    ASP中的
  • 成员和授权Net MVC 3 Razor
  • simplememmembership, Membership Providers, Universal Providers和新的ASP。. NET 4.5 Web Forms和ASP. NET. NET MVC 4模板
  • Asp.net成员-如何以编程方式确定用户是否在角色
  • ASP。. NET MVC成员角色

add using System.Web.Mvc;应该可以了

所以根据你的评论,我要假设你在一个类,不是一个控制器,但在你的MVC项目内工作。所以你应该能够做你想做的事情,像这样

if(HttpContext.Current.User.IsInRole("Admin"))
    {
      //...         
    }

使用System.Web.HttpContext.Current.User.IsInRole("yourRole")

希望对你有帮助