簡體   English   中英

用戶單擊按鈕時重定向到登錄頁面

[英]Redirecting to login page when user clicks a button

我希望我的匿名用戶能夠在整個網站中導航,但如果他按下網站內的任何按鈕,他應該被重定向到登錄頁面。 我該如何實現這一目標?

是否有我應該在FormAuthentication類中使用的函數?

不幸的是,您需要為此編寫自己的自定義代碼(當然,您可以使用ASP.NET基礎結構)。 概要將是

  1. 配置表單身份驗證,以便將所有頁面標記為不安全(即允許匿名訪問)
  2. 單擊任何按鈕,檢查用戶是否已通過身份驗證,如果沒有,則重定向到登錄頁面(使用FormsAuthentication.RedirectToLoginPage方法)

從更好的使用體驗,我將生成一個java腳本,它將彈出登錄提示(模式對話框),如果有必要,並通過ajax調用登錄,然后重新提交形成。 使用諸如jquery之類的庫,您可以在表單上附加必要的script-let到所有提交按鈕(或標有特定類的按鈕)。

您可以通過web.config中的某些設置來設置文件中的身份驗證。

這將允許您導航所有頁面。 現在,對於頁面中的任何事件,例如按鈕單擊或其他內容,您可以編寫一個函數,您可以在其中檢查成員資格提供程序的用戶身份驗證和授權

using System.Security.Authentication

Public void IsValidUser()
{
   if(User.Identity.Name!=string.empty)
     Response.Redirect("~login.aspx");
   else
   {
      if(!User.Identity.IsAuthenticated)
        Response.Redirect("~login.aspx");
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM