如何随着时间的推移保持价值?

时间:2013-12-29 10:02:28

标签: c# asp.net

  

我的任务是检查操作系统上的登录用户   收集有关他的一些详细信息作为用户名

     

我的代码很好,效果很好。

     

但我的问题是在没有的情况下通过所有页面与记录的用户保持联系   检查每个页面中记录的用户。当我检查用户时   主页,当我讨论会话但会话有时候   

母版页

 private void checkUser()
{

        DirectorySearcher searcher = new DirectorySearcher();
        searcher.SearchScope = SearchScope.Subtree;
        searcher.Filter = string.Format(CultureInfo.InvariantCulture,               "(sAMAccountName={0})", Environment.UserName);
        //SearchResult findUser = searcher.FindOne();
        foreach (SearchResult findUser in searcher.FindAll())
        {
            if (findUser != null)
            {
                DirectoryEntry user = findUser.GetDirectoryEntry();
                LoggedUser = user.Properties["displayName"].Value.ToString();
            }
        }
}

1 个答案:

答案 0 :(得分:1)

您可以使用 ASP.NET Session 来存储与登录用户相关的数据,这些数据将持续到会话过期。您还可以根据您的要求管理会话超时持续时间。

如果您设置 Authentication Authorisation ,则无需检查每个页面是否已授权用户,系统会为你做到这一点。如果会话过期或用户未经授权,系统将重定向登录页面的请求(如果使用表单身份验证)或正确的凭据以进行授权。