我的部分网页仅限于登录用户。当一个人试图进入该页面时,我将他重定向到登录页面。然后,在成功登录后,我想将他重定向到之前想要的页面。
我可以在哪里保留该网址?
我无法使用会话机制
非常感谢您的帮助
答案 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后面的内容 已被重写: