[英]Redirect user back to the original action after login
我想要完成的一系列動作如下。
上下文:用戶可以將產品添加到自己的帳戶。
謝謝。
重定向到登錄頁面時,在查詢字符串中添加原始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.