【问题标题】:How to get a role using asp.net 4.0如何使用 asp.net 4.0 获取角色
【发布时间】:2012-09-03 22:46:58
【问题描述】:

我是 ASP.NET 4.0 和 C# 的新手。如果我想根据使用 web.sitemap 登录的用户隐藏/显示菜单项,我必须使用一个角色并在 web.config 中设置它。我想请问,我在哪里可以得到这个角色?

【问题讨论】:

    标签: c# web-config asp.net-4.0 roles web.sitemap


    【解决方案1】:
    if (User.IsInRole("rolename")) {
      // what you wan't to do.
    }
    

    【讨论】:

    • 我想知道,在哪里可以获得“角色名”?或者我可以输入任何名字?
    • 没有。您将用户所属角色的角色名称放在那里。你可以从你的站点配置中得到它。请参阅Website Configuration Manager 工具并使用它设置您的角色等等。
    【解决方案2】:

    如果您真的是 ASP.NET 新手,则需要了解用户和角色。尝试将 Membership API 与“登录”等标准元素一起使用。之后,您必须使用自定义数据结构编写自己的用户和角色提供程序。然后,使用@Randolf R-F 语句。

    【讨论】:

      【解决方案3】:

      您需要使用 IPrincipal 来存储角色。

      GenericIdentity userIdentity = new GenericIdentity((FormsIdentity)HttpContext.Current.User.Identity.Name);
      
      string[] roles = { "rolename1", "rolename2", "rolename3" };
      GenericPrincipal userPrincipal = new GenericPrincipal(userIdentity, roles);
      Context.User = userPrincipal;
      

      然后你可以检查用户角色

      if (User.IsInRole("rolename1")) {
        // what you wan't to do.
      }
      

      【讨论】:

        【解决方案4】:

        如果我理解正确,您是说您打开了一个 asp.net Web 应用程序项目,并且您想知道如何创建用户并为他们分配角色。

        如果您当前将 web.config 配置为使用角色管理器和成员资格提供程序的默认提供程序,那么 asp.net 将处理所有棘手的事情。您唯一需要做的就是转到菜单栏并选择“项目-> ASP.NET 配置”。这将打开一个用于创建用户和角色然后分配它们的 GUI。它应该是一个非常不言自明的工具。这也应该满足您的 web.config 使用要求。

        正如上面的建议,如果您有用户登录,您可以执行以下操作:

        if (User.IsInRole("rolename")) { // 你想做什么。 }

        或者(最适合您的 atm)您应该尝试在工具箱中使用 logInView 控件。(我认为这就是所谓的)使用这些控件进行一些谷歌搜索,它会让您越过界限。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多