无法在ASP.NET / C#中基于用户角色隐藏HTML链接

时间:2018-04-02 12:00:02

标签: c# webforms

我正在使用Visual Studio 2010开发我的学校项目的ASP.net网站,并且我正在应用基于角色的安全性。

我想基于用户角色隐藏带有id =“HyperLink1”的html

  • 元素,但是,我想要隐藏的链接仍显示错误的凭据。以下是我母版页背后的代码中的一段代码:

    fflush(stdout)
  • 1 个答案:

    答案 0 :(得分:0)

    我建议您简化代码并翻转条件:

      protected void Page_Load(object sender, EventArgs e) {
        Label1.Text = Context.User.Identity.IsAuthenticated ? "Hi " + Context.User.Identity.Name + "!" : "Hi Guest!";
        footerYear.Text = DateTime.Now.Year.ToString();
        HyperLink1.Visible = false;
        if (Context.User.Identity.IsAuthenticated) {
          HyperLink1.Visible = !Context.User.IsInRole("student") && !Context.User.IsInRole("teacher") && !Context.User.IsInRole("registrar");
        }
      }