ASP.Net re-direct from URL after authentication

谁都会走 提交于 2019-12-24 23:48:24

问题


I have a web app where user is required to authenticate to view certain pages.

Authentication is forced in web.config by doing a re-direct to Login.aspx

When user is on the Login.aspx page the URL is in the following format:

http://localhost:51101/Login.aspx?ReturnUrl=%2fSupport.aspx

After user authorizes I'd expect ASP.Net to re-direct the user to Support.aspx page, but this doesn't happen.

Support.aspx is not the only page that requires authentication, therefore I can't do a re-direct in a code-behind file.

Is there a web.config setting that I'm missing out?

Thank you

Edit:

Basic authentication logic

            if (!Membership.ValidateUser(user, password))
            {
                errorId.Text = "Incorrect username or password";
            }
            else
            {
                FormsAuthentication.SetAuthCookie(user, true);  
                // I can add a re-direct here, but it won't do the job since there are multiple pages that require authentication
            }

回答1:


Are you using Forms Authentication? If so, you will need to call the

FormsAuthentication.RedirectFromLoginPage()

method in Login.aspx

Reference




回答2:


I don't think there is a way to have ASP.NET to handle that for you. You might have to look for "returnUrl" in the querystring manually in Global.asax Session_Start() and redirect to the value if the user is logged in.

Edit: I'm wrong. Thanks to John Pick for correcting me.



来源:https://stackoverflow.com/questions/4935452/asp-net-re-direct-from-url-after-authentication

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!