我们有一个专用的Windows XP系统,全屏运行我们的VC ++应用程序。我们希望通过我们的应用程序保护普通用户免受访问系统资源。我们计划为VC ++应用程序添加授权。每当用户尝试访问系统资源时,他/她需要首先通过授权检查。如果我们可以使用现有的Windows授权,那将是最好的,因为我们不需要让用户创建另一个帐户并记住用户名和密码。
任何人都可以给我一个方向吗?有人提到了winlogon.exe和msgina.dll。但我对此并不确定。
感谢,
答案 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
);