0

我在我的 ASP.NET MVC 应用程序中使用 Windows 身份验证,系统提示我在作为域成员的网络服务器上输入凭据 [我有域凭据并且可以很好地进行身份验证] 但是当我的控制器操作调用“User.Identity.Name”时为了尝试针对当前登录的用户检查数据库值,这是从本地计算机返回 SAM 帐户,而不是从 DOMAIN 中返回 SAM 帐户:

本地计算机用户名(User.Identity.Name 返回):LOCALPC\username

我所期待的(这是我针对 AD 进行身份验证的内容):域\用户名

这给我带来了问题,因为我无法准确地验证仅使用用户名的用户。

我是否遗漏了一些东西,有没有办法返回我目前对网络服务器进行身份验证的内容,而不是客户端计算机上的本地 SAM 帐户?

这很重要的原因是因为并非所有 Intranet 应用程序客户端都将加入域(未加入域但属于具有 AD 帐户的用户的计算机)。

4

2 回答 2

2

我的错误,问题现在已解决,结果证明是我的代码中的一个错误,而我的机器未加入域这一事实使我相信问题出在 User.Identity.Name 的值上。

谢谢大家的建议,希望我对这个网站的下一个贡献将是一个不那么愚蠢的笔记。

--

顺便说一句 - 此链接可能有助于人们在 IIS 中查找有关身份验证的相关信息:http: //blog.mike-obrien.net/PermaLink,guid,5e975b20-7b05-472f-bd80-04028ab8b6fa.aspx

于 2009-04-22T06:55:08.080 回答
0

当您的网络浏览器出现提示时,输入“域\用户名”而不是“用户名”进行身份验证。

编辑:

这是开发服务器吗?检查运行 IIS 的帐户。您是否在 web.config 中配置了模拟?

于 2009-04-22T06:16:20.903 回答