.net - 断开连接时使用 .Net 对 Active Directory 进行身份验证

标签 .net authentication active-directory ldap

我有一个使用 System.DirectoryServices 和 LDAP 进行身份验证的 .Net 客户端 WPF 应用程序。在应用程序启动时,我想强制用户使用他们的域帐户(这是他们登录 Windows 的方式)重新进行身份验证。我知道我可以在连接可用时使用以下方法执行身份验证。

DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain,
            userName, password);

问题是该应用程序有时会被可能没有连接的远程用户使用。即使断开连接,Windows 本身仍然允许域用户登录。是否有类似的方法在使用 .Net Framework 的断开连接的环境中对用户进行身份验证?

最佳答案

没有联系就没有联系。 Windows 为该用户维护上次登录的缓存版本(这意味着新用户将无法登录到未连接到域的计算机)。您可以使用本地系统身份验证来找出哪个用户正在使用该系统,并据此确定本地缓存的权限。这些方法仍将位于 System.DirectoryServices 命名空间内,但解析查询的位置会发生变化(而且我认为它不会在本地接受 LDAP 查询)。

编辑:
您还可以在 System.Security/System.Security.Permissions 命名空间中找到一些类来满足这些需求。

关于.net - 断开连接时使用 .Net 对 Active Directory 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4380601/

相关文章:

c# - 如何获取当前帧?

amazon-web-services - 如何设置用户登录、身份验证和授权 AWS Cognito

java - 非域用户的 Tomcat 8 和 Windows NTLM 身份验证

用于返回多个安全组成员的 PowerShell 脚本

active-directory - 用户是否有 LDAP 标准组成员资格属性?

c# - 如果一个 OU 包含 3000 个用户,如何使用 DirectorySearcher 查找所有用户?

.net - 特定 Active Directory 通讯组中的用户列表

.net - VB.NET 读取文本区域中的当前行?

.net - 大众运输 : No consumer

php - 使用 PHP 连接到 Redis