这是之前发布的关于无法模拟当前登录的Windows用户的后续内容。有很多好的建议,但前面的线程变得混乱,所以我正在重置这篇文章。希望下面记录的当前状态显而易见问题是什么。这是一条很破旧的路径,所以我必须相信我所缺少的只是一点配置步骤。ASP.NET模拟问题(第2部分)
问题:我需要ASP.NET模拟当前登录的用户。当我在IIS 7.5下运行时,它不起作用。 IIS Express工作正常,但我相信这是因为调试会话正在我的用户标识下运行。
我正在使用Environment.Username
来确定此用户是谁。有人建议这个属性总是返回登录的用户名,但是从我的测试中它返回了来自IIS的模拟用户。
例如,如果我的web.config有...
<identity impersonate="true" />
当我IIS 7.5下运行与设置,Environment.Username
回报IUSR。我相信这是IIS匿名用户帐户。
如果我改变web.config中......
<identity impersonate="true" userName="domain\jlivermore" password="mypassword" />
...然后Environment.Username返回jlivemore。但是,我需要它返回jlivermore而没有明确地在web.config中设置它。
这里是我的IIS设置...
.NET授权规则
认证
一个问题,如果我禁用匿名身份验证,然后我提示登录到现场。我认为如果您是通过域上的Active Directory帐户登录的,那么这个挑战不会出现?即使我在这个提示中输入了我的用户名/密码,我仍然没有得到模拟的工作。
基本设置
是的,挣扎返回与Environment.Username相同的名称。 – 2011-05-21 13:41:30