会话在asp.net应用程序中的specefied时间之前超时

时间:2016-08-31 04:01:15

标签: asp.net session dns iis-7 active-directory

我有一个运行在Windows Server 2008 R2上的IIS 7上的Web应用程序。我的应用程序的用户可以登录应用程序,默认会话超时为20分钟,在web.config文件和IIS 7上的会话设置中配置。 用户身份验证由另一台服务器上运行的活动目录域服务完成,我使用此代码实现。

代码:

public bool CheckUserInActiveDirectory(string userName)
    {
        try
        {
            string filter = "(&(objectCategory=person)(objectClass=user)(SAMAccountName=" + userName + "))";
            string[] propertiesToLoad = new string[2] { "name", "PwdLastSet" };
            DirectoryEntry root = new DirectoryEntry(activeDirectoryAddress);
            root.AuthenticationType = AuthenticationTypes.None;
            root.Username = activeDirectoryName + activeDirectoryDefaultUser;
            root.Password = activeDirectoryDefaultPass;
            DirectorySearcher searcher = new DirectorySearcher(root, filter, propertiesToLoad);

            int count = searcher.FindAll().Count;

            if (count >= 1)
                return true;
            else
                return false;

        }
        catch (Exception ex)
        {
            throw;
        }
    }

由于我的应用程序服务器(使用Windows Server 2008 R2)已加入域组,因此用户会话为空,少于20分钟,其他用户的会话时间不相同,并且每次为每个用户更改。 最后,用户被重定向到登录页面。是否有任何机构知道原因并指导我如何解决问题。

代码:

    protected void Page_Load(object sender, EventArgs e)
    {

            if (Session["UserSession"] == null)
                Response.Redirect("LoginPage.aspx");

    }

0 个答案:

没有答案