如何确定登录的Windows帐户是否已在域上进行身份验证

pet*_*ush 6 c++ windows authentication active-directory single-sign-on

可能重复:
在客户端 - 服务器应用程序中使用Active Directory验证用户

我正在尝试使用非托管C++在我的程序中使用单点登录方法,并且需要确定当前的Windows用户是否在我的域中进行了身份验证.如果我能找到一种方法来了解用户已经过身份验证,我将允许他进入我的桌面应用程序而无需密码(用户名在我的应用程序和域中是相同的).

我可以使用ADsOpenObject()直接针对Active Directory进行身份验证,但这需要用户名,密码和权限,我只需要使用用户名,而不需要用户自己输入.

使用.net我可以使用System.DirectoryServices中的东西,就像在这个线程中一样.

据我所知,此任务可能涉及分析Windows安全kerberos令牌以正确执行.这是深入讨论这个主题,并在为Java触及线.虽然我不需要严格的SSO,因为我的应用程序不会尝试访问与域相关的任何内容.

SSPI票证方式是唯一的方式,还是可以利用ADSI/WinLogon/CredentialsCache的某些属性来使其工作?

0xb*_*00d 0

您可以使用ADsGetObject 函数- 如果您想与当前凭据绑定 - 并检查用户是否在特定域中经过身份验证。


归档时间:

查看次数:

3134 次

最近记录:

14 年,2 月 前