我正在使用ASP.net,并且在登录后重定向原始请求的URL时遇到问题。 URL在地址栏中清晰显示,但在签名时,每次都会将我带到Default.aspx:
http://development-4/login.aspx?ReturnUrl=%2fControls%2fFinancial%2fAddressBook.aspx
答案 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>