【问题标题】:ASP.NET impersonation problemASP.NET 模拟问题
【发布时间】:2011-08-24 12:24:48
【问题描述】:

我正在尝试让我的 IIS 7.5 模拟通过浏览器访问网站的用户的帐户。

如果我使用...

    <identity impersonate="true" userName="mydomain\myusername" password="mypassword" />

它工作得很好。但是,如果我使用...

    <identity impersonate="true" />

它不会接听用户。我错过了一些代码吗?还是这是 IIS 7.5 配置问题?

【问题讨论】:

  • 您一直在使用 IE?我也认为你必须在 IIS 本身中启用它

标签: asp.net asp.net-mvc-2 asp.net-mvc-3 impersonation windows-security


【解决方案1】:

我发布了以前的答案,但我认为这个更适用

尝试选择您是使用特定用户还是通过。不能 100% 确定这是否能解决您的问题,只是想提供帮助!

【讨论】:

  • 我检查了这个对话框,我的看起来和图片一样。不过感谢您的提示!
  • 下面链接的文章指出“已启用模拟。在这种情况下,ASP.NET 模拟 IIS 传递给它的令牌,该令牌是经过身份验证的用户或匿名 Internet 用户帐户 (IUSR_machinename)。”我得到的是匿名 Internet 用户帐户,而不是经过身份验证的用户。如何让它接听用户而不是匿名用户?
【解决方案2】:

在启用模拟时,检查您启用了哪些类型的安全性:

  • 打开 IIS

  • 转到您的网站,点击它

  • 点击身份验证(带锁图标的蓝色小伙)

  • 确保您已启用 ASP.NET 模拟

应启用模拟

【讨论】:

  • 这与问题中的完全相同
  • 哦,对了,我误读了这个问题。问题不在于身份验证,而在于它没有获取当前用户。那是不同的,他需要配置是透传安全还是指定用户。我会写一个不同的回复。
【解决方案3】:

您必须配置 IIS 以将安全令牌传递给 ASP.NET。见here

【讨论】:

  • 感谢您的链接。文章指出“启用了模拟。在这种情况下,ASP.NET 模拟了 IIS 传递给它的令牌,该令牌是经过身份验证的用户或匿名 Internet 用户帐户 (IUSR_machinename)。”我得到的是匿名 Internet 用户帐户,而不是经过身份验证的用户。如何让它接听用户而不是匿名用户?
  • 只是一个后续,根据我的测试是否启用了匿名身份验证,IIS 总是 会选择匿名用户。只有禁用匿名身份验证,我才能让 IIS 获取活动目录用户(我)。
  • @John 我遇到了一个问题,每当我尝试访问我的网站时,系统都会提示我输入我的用户/密码。我启用了 Windows Auth 和 ASP.NET Impersonation 并禁用了其他人。在 Cassini 网络主机中运行良好,但在 IIS7 中运行良好。你最终得到这个工作了吗?
【解决方案4】:

您是否尝试打开 Windows 身份验证?

【讨论】:

    猜你喜欢
    • 2015-05-24
    • 2011-08-28
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2011-04-25
    • 2012-07-19
    • 2011-11-06
    • 2015-11-13
    相关资源
    最近更新 更多