<分区>
Possible Duplicate:
Authenticating users using Active Directory in Client-Server Application
我正在使用非托管 C++ 在我的程序中尝试单点登录方法,并且需要确定当前 Windows 用户是否在我的域中经过身份验证。如果我能找到一种方法知道用户已通过身份验证,我将允许他进入我的桌面应用程序而不需要密码(用户名在我的应用程序和域中是相同的)。
我可以使用 ADsOpenObject() 直接针对 Active Directory 进行身份验证,但这需要用户名、密码和权限,我只需要使用用户名即可,无需用户本人输入。
有了 .net,我可以使用 System.DirectoryServices 中的一些东西,比如在 this 线程中。
据我所知,此任务可能涉及分析 Windows 安全 kerberos token 以正确执行。这在 this 线程中进行了彻底讨论,并在 this 线程中针对 Java 进行了触及。尽管我不需要严格的 SSO,因为我的应用程序不会尝试访问与域相关的任何内容。
SSPI 票据方式是唯一的方式吗?还是我可以利用 ADSI/WinLogon/CredentialsCache 的某些属性使其工作?