0

背景

我们的 asp.net webapp 已经发展壮大,现在有 6 种不同的身份验证方法,未来还会有更多。我想将这些方法标准化,并将它们提取到一个独立的插件中,该插件可以随意禁用/启用(甚至可能从应用程序内配置)。这也是必要的,因为至少其中一种方法是特定于客户端的,并且使用由所述客户端提供的 DLL,不应将其分发给其他客户端。

问题

当我尝试为身份验证方法创建插件机制时,我面临着一种特定的方法,即 Windows 身份验证。通常它通过在 IIS 中启用 Windows 身份验证来工作,但由于它应该是一个独立的插件,我想避免它修改 web.config 和/或 IIS 配置。那么,假设在 IIS 中默认关闭 Windows 身份验证(所有内容都只匿名),有什么方法可以让我的插件工作吗?我可以从我的 ASP.NET 应用程序中以某种方式告诉 IIS,我想对特定的 URL/请求进行 Windows 身份验证吗?

4

1 回答 1

2

使用 advapi32,您应该能够获得详细信息,而无需使用 Windows 身份验证。

看看这里:

http://www.pinvoke.net/default.aspx/advapi32.logonuser

除此之外,除了用户 Windows 集成身份验证之外,没有其他方法可以获取更多用户详细信息

于 2012-09-27T09:13:33.497 回答