1

嗨,由于asp.net Web应用程序中的会话超时,登录后是否有任何方法可以登陆相同的页面。我最近从 java 迁移到 .net,任何建议都会很有帮助。举个例子

我在Page1上,当我在Page1 上空闲时,我的会话被破坏了,我被重定向到Logging页面。在我登录到系统后,我目前在默认页面上。我想要做的只是在登录后重定向到Page1 。对不起,我的英语不好。

这是Web.config

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

和登录按钮功能 #region"Validate login user" 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

在这里,我提供了最低要求的代码..

4

2 回答 2

0

你应该改变

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

对这个方法

FormsAuthentication.RedirectFromLoginPage(userbyactive.UserId, false);

否则你将永远出现在页面中Main.aspx

RedirectFromLoginPage会将您发送到浏览器先前请求的页面。

于 2013-01-15T10:55:46.917 回答
0

尝试将其添加到您的web.config文件中

    <authentication mode="Forms">
        <forms loginUrl="~/Index.aspx" timeout="120" slidingExpiration="true"/>
    </authentication>

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

于 2013-01-15T09:37:29.727 回答