繁体   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