返回URL在链接中不起作用

时间:2014-08-18 14:29:48

标签: c# asp.net url webforms

我正在使用ASP.net,并且在登录后重定向原始请求的URL时遇到问题。 URL在地址栏中清晰显示,但在签名时,每次都会将我带到Default.aspx:

http://development-4/login.aspx?ReturnUrl=%2fControls%2fFinancial%2fAddressBook.aspx

1 个答案:

答案 0 :(得分:0)

.NET框架已经使用'ReturnUrl'值自动处理重定向。除非您将用户带到他们试图去的地方以外的地方,否则请使用以下内容将其重定向到所请求的页面。

将'userName'替换为他们在登录时提供的用户名.'isPersistant'是指cookie是应该保留浏览器会话还是在窗口关闭时删除。

FormsAuthentication.RedirectFromLoginPage("userName", isPersistant); 

如果您选择将用户带到其他地方,那么您的代码应该与此类似。

FormsAuthentication.SetAuthCookie("userName", isPersistant);
Response.Redirect("~/SomePage.aspx");

因为您没有提供很多背景信息,所以我将添加以下配置。你应该有类似的东西。

<system.web>
    <authentication mode="Forms">
        <forms name="loginCookieName" loginUrl="~/login.aspx" protection="All" timeout="60" path="/" />
    </authentication>
    <authorization>
        <deny users="?" />
    </authorization>
</system.web>
<location path="login.aspx">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>