【问题标题】:is there a way to somehow block certain pages (aspx) based on a condition MVC?有没有办法根据条件 MVC 以某种方式阻止某些页面 (aspx)?
【发布时间】:2019-04-03 13:55:11
【问题描述】:

我在系统上有自定义身份验证,我希望某些页面(例如 EditingProfile.aspx)无法通过 URL 导航访问。 如果用户被授权:按钮(例如 btnEditingProfile)已启用并将重定向到 EditingProfile.aspx。 是用户未授权:按钮 (btnEditingProfile) 将被禁用。我正在寻找一种方法来阻止用户通过 URL 导航访问 EditingProfile.aspx。

我正在使用的系统很旧,所以我需要一种安全的方法来保护它,不会干扰系统的其他方面。

MainMenu.aspx

protected void Page_Load(object sender, EventArgs e)
    {
        //CODE
        if (!m_mainController.m_IsAutorized)
        btnEditProfile.Enabled = false;
        //MORE CODE
    }

 protected void btnEditProfile_Click(object sender, EventArgs e)
        {
            queryStrings=SOMEVALUE();
            string QueryString = QueryStringEncrypter.GetEncryptedQueryString(queryStrings);
            Response.Redirect("ProfileDetails.aspx?" + QueryString, false);
        }

【问题讨论】:

  • 为什么这个标签是 C++?看起来像 CLI 或 C#
  • 欢迎来到 Stack Overflow。首先请阅读how to ask good questions,以及this question checklist。并且在选择标签的时候请注意,不要选错了。请编辑您的问题(标签下方有一个链接)进行更正。
  • it seam asp.net webform not asp.net mvc
  • @nathanOliver 你说得对,它是 c#。我修好了,谢谢指出
  • @hienNguyen 我以前没有使用过 asp.net 网络表单,所以我无法识别它。我对这一切都很陌生。谢谢

标签: c# asp.net security url webforms


【解决方案1】:

在我看来,每个用户都应该有一个登录会话来了解他们的权限。 https://www.codeproject.com/Articles/21474/Easy-way-to-create-secure-ASP-NET-login-using-Sess

【讨论】:

  • 我什至没有考虑会话变量!谢谢。
【解决方案2】:

按照 Tim Nguyen 的建议,我做了以下事情:

在 MainMenue.aspx 我添加了

   protected void Page_Load(object sender, EventArgs e)
{
    //code        
    if (!m_mainController.m_IsAutorized)
    btnEditProfile.Enabled = false;
    Session["url"] = Request.UrlReferrer.AbsoluteUri.ToString();
   //more code
}

在 EditingProfile.aspx 中:

protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["url"] != null)
            {
                Response.Redirect(Session["url"].ToString());
            }
            //code
         }

没有其他任何改变。代码按照我想要的方式运行,所以我想更新这个问题以防有人需要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 2014-05-03
    相关资源
    最近更新 更多