通过 Windows 身份验证对话框清除用户名缓存

Posted

技术标签:

【中文标题】通过 Windows 身份验证对话框清除用户名缓存【英文标题】:Clear username caching by windows authentication dialogue box 【发布时间】:2015-09-24 19:17:15 【问题描述】:

我有一个使用 Windows 身份验证的 ASP.Net Web 应用程序。当我访问该应用程序时,它会提示一个 Windows 对话框输入凭据和一个复选框“记住我的凭据”以保存用户凭据。我对应用程序有以下要求以确保安全,

应用程序在每次访问应用程序时都应清除 Windows 身份验证对话框中的“用户名”和“密码”字段,即使他在上次登录期间选中了“记住我的凭据”复选框。

我尝试创建一个注册表项“DisablePasswordCaching”,但这只会清除密码字段,但不会清除用户名。并且这个修复应该在所有不是有效选项的客户端机器上完成。

【问题讨论】:

【参考方案1】:

当用户尝试匿名访问启用了 Windows 身份验证的网站时,浏览器会显示该对话框以响应 IIS 返回的 401 身份验证错误。该对话框不在您的应用程序的控制范围内(它是浏览器的一项功能),您是否可以清除用户名以及如何清除,对于每个浏览器(可能还有浏览器的版本)都会有所不同)。

如果您必须对此进行控制,那么您可能希望将表单身份验证与 Active Directory 角色和成员资格提供程序结合使用,以便您可以控制登录屏幕。

【讨论】:

以上是关于通过 Windows 身份验证对话框清除用户名缓存的主要内容,如果未能解决你的问题,请参考以下文章

Windows 登录对话框(捕获登录并通过)Windows、.NET

我在服务器上的iis上的身份验证选项中去掉了匿名访问,启用了集成windows身份验证

我可以在尝试连接到未经身份验证的网络路径时显示 Windows 身份验证对话框吗

WCF 客户端缓存 Windows 身份验证

关于如何快速清除,登陆文件共享,域等时缓存的认证用户名和密码的方法

在启用 Windows 身份验证的情况下拒绝访问本地资源