记住所需页面的最佳方式

时间:2011-08-29 14:54:40

标签: c# .net asp.net

我的部分网页仅限于登录用户。当一个人试图进入该页面时,我将他重定向到登录页面。然后,在成功登录后,我想将他重定向到之前想要的页面。

我可以在哪里保留该网址?

我无法使用会话机制

非常感谢您的帮助

4 个答案:

答案 0 :(得分:5)

你可以把它放在像Asp.Net Membership那样的QueryString中。

http://www.example.com/Login?returnUrl=/home/

答案 1 :(得分:1)

将它放在查询字符串中,例如

http://www.mysite.com/login.aspx?RedirectUrl=SomeRestrictedPage.aspx

答案 2 :(得分:1)

我认为“最好”的方法是根本不记得该URL,而是将其作为查询字符串值传递给登录页面。这是一种更无国籍的方法。

当您将用户重定向到登录页面时,您可以URL encode重定向页面的路径并将其添加到重定向中的查询字符串中。然后,在您的登录页面中,检查该值。如果值存在(并传递您要添加的任何验证,例如确保它是您自己站点的相对路径并且是有效页面等),请将用户重定向到该页面。如果它不存在,则重定向到默认页面。

答案 3 :(得分:0)

只需使用表单身份验证并使用内置的ReturnUrl

Explained: Forms Authentication in ASP.NET 2.0

  

无Cookie表单身份验证

     

ASP.NET 2.0支持无cookie表单身份验证。这个功能是   由forms元素的cookieless属性控制。这个   属性可以设置为以下四个值之一:

UseCookies. This value forces the FormsAuthenticationModule class
     

使用cookie传输身份验证票证。       UseUri。此值指向FormsAuthenticationModule类   重写用于传输身份验证票证的URL。       UseDeviceProfile。此值指示FormsAuthenticationModule   看看浏览器功能的类。如果浏览器支持   饼干,然后使用饼干;否则,重写URL。       自动侦测。此值指示FormsAuthenticationModule类   检测浏览器是否通过动态支持cookie   检测机制。如果检测逻辑指示cookie是   不支持,然后重写URL。

     

如果您的应用程序配置为使用无cookie表单   身份验证和FormsAuthentication.RedirectFromLoginPage   正在使用的方法,然后是FormsAuthenticationModule类   自动在URL中设置表单身份验证票证。该   下面的代码示例显示了典型的URL后面的内容   已被重写:

     

http://localhost/CookielessFormsAuthTest/(F(-k9DcsrIY4CAW81Rbju8KRnJ5o_gOQe0I1E_jNJLYm74izyOJK8GWdfoebgePJTEws0Pci7fHgTOUFTJe9jvgA2))/Test.aspx