Есть ли способ как-то заблокировать определенные страницы (aspx) на основе условия MVC? - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть настроенная аутентификация в системе, я хотел бы, чтобы определенные страницы (например, EditingProfile.aspx) не были доступны через URL-навигацию. если пользователь авторизован: кнопки (например, btnEditingProfile) включены и будут перенаправлены на EditingProfile.aspx. пользователь не авторизован: кнопки (btnEditingProfile) будут отключены. Я ищу способ запретить пользователям доступ к EditingProfile.aspx через URL-навигацию.

Система, над которой я работаю, старая, поэтому мне нужен безопасный способ ее обезопасить, чтобы она не мешала другим аспектам системы.

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);
        }

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Следуя совету Тима Нгуена, я сделал следующее:

в 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
         }

больше ничего не былоизменилось.Код работает так, как я хочу, поэтому я решил обновить этот вопрос на тот случай, если он кому-нибудь понадобится.

0 голосов
/ 05 апреля 2019

По моему мнению, каждый пользователь должен иметь сеанс входа в систему, чтобы знать свое разрешение.https://www.codeproject.com/Articles/21474/Easy-way-to-create-secure-ASP-NET-login-using-Sess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...