asp.net 成员资格 - 如何以编程方式确定用户是不是在角色中

Posted

技术标签:

【中文标题】asp.net 成员资格 - 如何以编程方式确定用户是不是在角色中【英文标题】:asp.net membership - how to determine programmatically is user is in roleasp.net 成员资格 - 如何以编程方式确定用户是否在角色中 【发布时间】:2010-11-15 21:13:44 【问题描述】:

确定用户是否属于某个角色的代码是什么?

我已经通过 ASP.NET 配置安全选项卡设置了所有用户,但现在想在一些关键区域周围放置逻辑,以便只有特定角色的人才能看到和访问这些区域。

【问题讨论】:

【参考方案1】:

感谢“Chris Van Opstal”。我这样解决了我的问题,

    public ActionResult Index()
    

        if (User.IsInRole("Supervisor"))
        
            return RedirectToAction("Index", "InvitationS");
        
        return View();
    

【讨论】:

【参考方案2】:

查看Roles 类,特别是 IsUserInRole、GetUsersInRole、AddUserToRole 等。

我一直在使用这些。

【讨论】:

【参考方案3】:

简单~

HttpContext.Current.User.IsInRole("roleName")

【讨论】:

此代码将查看 sql 数据库(这是我的提供者)以确定在 asp.net 中的角色? 是的,它将查看您配置的任何提供程序。【参考方案4】:
if (User.IsInRole("rolename")) 
  // my action

【讨论】:

User 是 Page 和 HttpContext 类的一个属性,所以你可以在页面上简单地作为 User 访问它,或者在非页面文件中作为 HttpContext.Current.User 访问它。 MSDN 上的更多信息:msdn.microsoft.com/en-us/library/…

以上是关于asp.net 成员资格 - 如何以编程方式确定用户是不是在角色中的主要内容,如果未能解决你的问题,请参考以下文章

实体框架代码优先和 ASP.NET 成员资格

ASP.NET:如何在 Web 应用程序之间共享资源(成员资格、库)

ASP.NET MVC 和 ASP.NET 成员资格模板提供程序

如何为 ASP.NET MVC 2 创建自定义成员资格提供程序?

ASP.Net MVC 2 中自定义成员资格提供程序中的角色分组

ASP.NET 成员资格 - 通过询问旧密码来更改密码