PAM中的“会话必需模块”等效于Windows

时间:2012-04-17 18:20:21

标签: windows windows-7 pam

我有这个漂亮的PAM模块,用于验证身份验证的每个会话(如桌面会话),并根据某些标准允许或阻止它。我想在Windows 7上做同样的事情。

现在,这可能听起来很愚蠢或无关紧要,但我真的不知道我的方式围绕Windows系统,因此想要了解如何实现类似的东西(即服务或模块)例如,当用户尝试启动会话时查询。)

1 个答案:

答案 0 :(得分:5)

我认为你要找的是Subauthentication Package,但你可以用Credential Provider获得一些里程。

Subauthentication Package是一个动态链接的库,本地安全机构或Kerberos密钥分发中心(KDC)将在身份验证成功后调用,但在授予用户访问权限之前。

Windows将在本地或通过Kerberos对用户进行身份验证,具体取决于您的配置。您必须构建一个导出这两个函数的DLL:

您将代码放入该DLL中,如果允许用户登录,则返回STATUS_SUCCESS,或者返回其他错误代码之一。您不能假设您可以访问密码。

如果您通过Kerberos登录,则必须在KDC上注册DLL。这使得很难对某些本地信息进行身份验证,例如硬件或生物识别设备。

所以也许Credential Provider可以帮助您,但它不是最优雅的解决方案。它旨在捕获凭据并将其提供给身份验证包。但微软认为凭证提供商不会锁定用户,因此可能并不总是被调用(在安全模式下),用户可能会安装另一个CP等等。所以我提到它是为了完整性。