背景
我们的 asp.net webapp 已经发展壮大,现在有 6 种不同的身份验证方法,未来还会有更多。我想将这些方法标准化,并将它们提取到一个独立的插件中,该插件可以随意禁用/启用(甚至可能从应用程序内配置)。这也是必要的,因为至少其中一种方法是特定于客户端的,并且使用由所述客户端提供的 DLL,不应将其分发给其他客户端。
问题
当我尝试为身份验证方法创建插件机制时,我面临着一种特定的方法,即 Windows 身份验证。通常它通过在 IIS 中启用 Windows 身份验证来工作,但由于它应该是一个独立的插件,我想避免它修改 web.config 和/或 IIS 配置。那么,假设在 IIS 中默认关闭 Windows 身份验证(所有内容都只匿名),有什么方法可以让我的插件工作吗?我可以从我的 ASP.NET 应用程序中以某种方式告诉 IIS,我想对特定的 URL/请求进行 Windows 身份验证吗?