2

我有一个小型内部应用程序,我需要知道哪个域用户正在访问该站点,而不需要站点身份验证——我只需要知道他们以谁身份登录到他们的机器,并捕获该信息。这仅用于日志记录,而不用于任何类型的访问控制。在公司内部,这只是一个开放的网站。

Web.API 应用程序控制器是否有一种简单的方法可以找出机器上的当前域用户是谁?我需要在我的 web.config 中配置一些东西吗?

4

1 回答 1

1

这是不可能的,或者至少是不可能可靠的。

首先,获取用户的唯一方法实际上是使用 Windows 身份验证并强制他们登录。您可以使用 Windows 直通身份验证,但这仅适用于 Internet Explorer,并且仅适用于非常特定的域配置。即使这样,有时它也不起作用。当它不起作用时(如果他们使用 chrome 或 ff 或者只是没有正确配置浏览器),它将强制他们使用他们的凭据登录。这是唯一的方法。

这也可以通过 ActiveX 控件完成,但同样只能在 IE 中使用,而且大多数企业环境不再热衷于 Activex。它可以与 Java(不是 javascript)一起使用,但考虑到 Java 最近的安全问题,这也可能不是一个好主意。

无论如何,没有真正万无一失的方法可以做到这一点。只有一堆不同的方式可能有效也可能无效。

于 2013-02-06T22:47:29.473 回答