【发布时间】:2011-04-24 15:54:53
【问题描述】:
我正在为 Windows 7 的 MSV1_0 构建一个自定义身份验证子包。我使用了 Windows SDK 中的 msvsubauth 示例,我有 2 个关于我面临的一些问题的问题:
-
当我试图确保调用例程并将注册表中的 Auth0 属性设置为我的包并在创建文件的 Msv1_0SubAuthenticationRoutine 末尾添加一个简单的代码时:
// // Cleanup up before returning. // Cleanup: hTestFile = CreateFile( TEXT("C:\\lsa\\lsa.txt"), GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if(hTestFile != INVALID_HANDLE_VALUE) { CloseHandle(hTestFile); } return Status; } // Msv1_0SubAuthenticationRoutine显然,该程序包被调用,因为当我输入密码时,我从 Windows 收到一条错误消息“参数不正确”,这是一个好兆头。但为什么我会收到这个错误?当从单独的 .exe 文件执行完全相同的代码时,它会完美运行并创建测试文本文件。我已经检查了权限并为“每个人”设置了“完全控制”。有任何想法吗? SDK 并没有具体提到 LSA 为 auth 包中的代码创建了什么样的隔离。
第二个问题是测试 AP。目前,每次更改我都会重建库,将其复制到测试 VM,然后复制到 System32 文件夹并重新启动它。有没有更简单的方法来做到这一点?
提前致谢!
【问题讨论】:
-
这还没有解决吗?我正在做一个类似的项目,我想知道如何进行自定义身份验证。我赞成你的问题。
-
是的,当时我已经解决了这个问题。请就您的具体问题提出问题,我会尽力为您提供帮助。看看 cyglsa - LSA 身份验证包,它是 cygwin 的一部分。很有帮助。
-
这是我关于 serverfault 的帖子:serverfault.com/questions/254192/…。我找到了一些东西,但也许你在了解这个时遇到了这个。
标签: c++ windows winapi local-security-authority