我可以在VC ++应用程序中使用Windows授权吗?

时间:2009-07-15 18:17:40

标签: visual-studio winapi visual-c++

我们有一个专用的Windows XP系统,全屏运行我们的VC ++应用程序。我们希望通过我们的应用程序保护普通用户免受访问系统资源。我们计划为VC ++应用程序添加授权。每当用户尝试访问系统资源时,他/她需要首先通过授权检查。如果我们可以使用现有的Windows授权,那将是最好的,因为我们不需要让用户创建另一个帐户并记住用户名和密码。

任何人都可以给我一个方向吗?有人提到了winlogon.exe和msgina.dll。但我对此并不确定。

感谢,

2 个答案:

答案 0 :(得分:0)

GINA是第一次启动时运行Windows登录屏幕的位 - 所以你怀疑它是什么。如果您希望应用程序弹出一个密码对话框,该对话框会根据Windows用户数据库对它们进行身份验证。

您可以执行的操作是弹出一个对话框,询问用户名和密码,然后尝试模拟使用这些详细信息 - 请参阅KB306158,标题为“冒充代码中的特定用户”一节。

答案 1 :(得分:0)

查看LogonUser

您需要链接advapi32

BOOL LogonUser(
  __in      LPTSTR lpszUsername,
  __in_opt  LPTSTR lpszDomain,
  __in      LPTSTR lpszPassword,
  __in      DWORD dwLogonType,
  __in      DWORD dwLogonProvider,
  __out     PHANDLE phToken
);