登录后重定向到同一页面,因为在asp.net中会话超时

时间:2013-01-15 09:20:43

标签: c# asp.net

因为在asp.net web应用程序中会话超时,所以登录后无论如何都要登陆同一页面。我最近从java迁移到.net,任何建议都会有很大帮助。作为一个例子

我正在 Page1 ,当我在 Page1 上闲置时,我的会话被销毁,我被重定向到登录页面。我登录系统后,目前处于默认页面。我想要做的只是在登录后重定向到 Page1 。抱歉我的英语不好。

这是Web.config

<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" timeout="2880"/>
</authentication>

和登录按钮功能     #region“验证登录用户”         public void ValidateUser()         {

        try
        {
            string con = ConnectionSetting.SQLDBConnectionString();
            sUserNameT = this.txtUname.Text.ToLower();
            sPassWordT = this.txtPassword.Text;
            Some required functions user......

            if (check some stuff)
            {
                Decrypting and other stuff....
                if (matching password)
                {
                    if (if the logging success)
                    {
                        LoadScreensByUser(userbyactive.UserId, con);
                        UserLogedDetails(userbyactive.UserId);//Log User Loging Records.
                        Response.Redirect("~/Main.aspx");
                    }
                    else
                    {
                        Output...();
                    }
                }
                else
                {
                    Output...();
                }
            }
            else
            {
                Output...();
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    #endregion

这里我提供了所需的最低代码..

2 个答案:

答案 0 :(得分:0)

尝试在web.config文件

中添加此内容
    <authentication mode="Forms">
        <forms loginUrl="~/Index.aspx" timeout="120" slidingExpiration="true"/>
    </authentication>

有关使用asp.net的Authenticatio模式的更多信息,请参阅THISTHIS

答案 1 :(得分:0)

你应该改变

Response.Redirect("~/Main.aspx");

这个方法

FormsAuthentication.RedirectFromLoginPage(userbyactive.UserId, false);

另外,您将始终在页面Main.aspx

中结束

RedirectFromLoginPage会将您发送到borwser之前请求的页面。