我正在使用此代码的表单身份验证
<authentication mode="Forms">
<forms defaultUrl="Dashboard.aspx" loginUrl="Login.aspx" slidingExpiration="true" timeout="60" />
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
此问题是成功登录后再次重定向到登录页面,如果我这样做了3到4次,那么它会将我重定向到默认页面。
答案 0 :(得分:2)
如果您使用的是表单身份验证,则可以在登录页面中使用ReturnUrl查询字符串:
var returnUrl = Request.QueryString["ReturnURL"];
if (string.IsNullOrEmpty(returnUrl)){
returnUrl = "~/";
}
Response.Redirect(returnUrl);
如果您不使用它,您应该按照以下方式行事:当您将用户重定向到登录页面时,请使用引荐来源页面添加查询字符串。
//**Remember to url encode it!**
var returnUrl = Server.UrlEncode(Request.Url.PathAndQuery);
Response.Redirect("~/login.aspx?ReturnURL=" + returnUrl);
答案 1 :(得分:0)
试试这个。如果有效,请添加其他属性。
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" />
</authentication>
编辑:
成功登录后,将创建一个包含身份验证票证的cookie。该票证已加密。请求页面时,解密由FormsAuthenticationModule类完成。我有过这样的情况,如果它不存在,我必须添加下面的配置,如果它存在,则删除该配置。
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
</system.webServer>