登录后重定向到登录页面

时间:2016-04-21 12:03:44

标签: c# asp.net

我正在使用此代码的表单身份验证

<authentication mode="Forms">
      <forms defaultUrl="Dashboard.aspx" loginUrl="Login.aspx" slidingExpiration="true" timeout="60" />
    </authentication>
    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>

此问题是成功登录后再次重定向到登录页面,如果我这样做了3到4次,那么它会将我重定向到默认页面。

2 个答案:

答案 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>