簡體   English   中英

登錄后將用戶重定向回原始操作

[英]Redirect user back to the original action after login

我想要完成的一系列動作如下。

上下文:用戶可以將產品添加到自己的帳戶。

  1. 用戶嘗試添加特定產品。 (他/她此時沒有登錄。)
  2. 在后面的代碼中,我需要將用戶重定向到登錄頁面,然后才能將產品添加到用戶的帳戶。
  3. 登錄后,如何使系統返回邏輯以完成步驟1中的操作。

謝謝。

重定向到登錄頁面時,在查詢字符串中添加原始URL。
成功登錄后,從查詢字符串發送到URL。

假設您正在使用FormsAuthentication,如果您不使用或不知道要使用什么,請在此處查看: http//msdn.microsoft.com/en-us/library/xdt4thhy.aspx

好的,所以當你的用戶試圖訪問受保護的頁面時(即必須將其記錄下來),ASP.NET的表單身份驗證會將它們發送到登錄頁面,最好在Web配置中設置:

<authentication mode="Forms">
   <forms loginUrl="~/Public/Login.aspx" defaultUrl="~/Public/Default.aspx"/>
</authentication>

它還會將ReturnUrl查詢字符串參數附加到該參數,因此登錄頁面知道它們來自何處: http//www.example.com/Public/Login.aspx ?ReturnUrl =%2fprivate%2forderproduct.aspx

然后,在您的登錄頁面中,假設它們已成功通過身份驗證,您可以設置身份驗證cookie並將它們從它們的來源重定向:

FormsAuthentication.SetAuthCookie(someUserIdentifier,isRememberMeSet);
FormsAuthentication.RedirectFromLoginPage(someUserIdentifier, isRememberMeSet);

當然,如果您不想使用FormsAuthentication,您仍然可以使用返回URL的概念。 表單身份驗證只是免費提供了很多。

暫無
暫無

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

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