我的任务是检查操作系统上的登录用户 收集有关他的一些详细信息作为用户名
我的代码很好,效果很好。
但我的问题是在没有的情况下通过所有页面与记录的用户保持联系 检查每个页面中记录的用户。当我检查用户时 主页,当我讨论会话但会话有时候
母版页
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();
}
}
}
答案 0 :(得分:1)
您可以使用 ASP.NET Session 来存储与登录用户相关的数据,这些数据将持续到会话过期。您还可以根据您的要求管理会话超时持续时间。
如果您设置 Authentication 和 Authorisation ,则无需检查每个页面是否已授权用户,系统会为你做到这一点。如果会话过期或用户未经授权,系统将重定向登录页面的请求(如果使用表单身份验证)或正确的凭据以进行授权。