交互式身份验证

当系统提示用户提供登录信息时,身份验证是交互式的。 当用户通过 GINA 用户界面登录时,本地安全机构(LSA)执行交互式身份验证。 下图显示了典型的交互式身份验证的各个部分。

交互式身份验证

用户通过键入 CTRL+ALT+DEL 安全关注序列(SAS)来向系统发出信号以开始登录序列。 Winlogon 接收 SAS 并调用 GINA 以显示用户界面并获取用户的登录数据,例如用户名和密码。

获取登录数据后,GINA 调用 LsaLogonUser 函数对用户进行身份验证,并指定必须使用哪个身份验证包来评估登录数据。

LSA 调用指定的身份验证包,并将登录数据传递给它。 身份验证包检查数据并确定身份验证是否成功。 身份验证结果将返回到 LSA,从 LSA 返回到 GINA。

GINA 向用户显示身份验证的成功或失败,并将身份验证结果返回到 Winlogon。 如果身份验证成功,将开始用户的登录会话,并保存一组登录 凭据 以供将来参考。

注意

通常,编写自定义 GINA 以接受专用登录数据的开发人员(如 智能卡 或重新扫描数据)还必须编写一个身份验证包,负责处理该数据并确定其真实性。

 

有关 Winlogon 和 GINA 的详细信息,请参阅 Winlogon 和 GINA。 有关身份验证包的详细信息,请参阅 创建自定义安全包