【问题标题】:IIS 7 - authenticationIIS 7 - 身份验证
【发布时间】:2013-03-23 23:28:55
【问题描述】:

我有一个关于 IIS 7 身份验证的问题。我希望我的应用程序显示 Windows 用户名。可能吗?如果是我怎么能做到这一点?

<identity impersonate="false"/>
<authorization>
<deny users="?"/>
</authorization>
<authentication mode="Windows"/>

显示我使用的用户名:

Label1.Text = (Environment.UserName);
Label2.Text = (Page.User.Identity.Name);
Label3.Text =(Request.LogonUserIdentity.Name.Substring(Request.LogonUserIdentity.Name.LastIndexOf(@"\") + 1));
Label4.Text = (System.Security.Principal.WindowsIdentity.GetCurrent().Name);
Label5.Text = (System.Web.HttpContext.Current.User.Identity.Name);
Label6.Text = Request.ServerVariables["LOGON_USER"];

以上都行不通...

我的 IIS 设置: 启用 Asp.net 模拟,启用 Windows 身份验证...

有人看到问题了吗?

非常感谢和问候!

已编辑:我忘了补充一点,我不希望用户被提示输入任何凭据。我希望用户名自动显示。

【问题讨论】:

  • 如果改为设置 会怎样?
  • 无济于事...感谢您的回复
  • 您是否禁用了匿名身份验证?用户只有在无法匿名进入时才会受到挑战

标签: c# asp.net authentication iis


【解决方案1】:

查看How to get Windows user name when identity impersonate="true" in asp.net?IIS7: Setup Integrated Windows Authentication like in IIS6

基本上,请仔细检查以确保您的应用程序配置正确,并仔细检查您是否在 IIS 中安装了 Windows 身份验证。

【讨论】:

    【解决方案2】:

    为此,必须正确配置浏览器和服务器。请注意,Windows 身份验证不是标准的 HTTP 身份验证方法,它特定于 IE 和 IIS(Firefox 也可以通过额外设置支持它),因此您必须确保您的 IE 浏览器配置为将域用户凭据发送到IIS 服务器。 你的服务器配置看起来不错,模仿是真的。 检查您的IE浏览器,确保您在IE中输入的http地址不是internet域的一部分,它必须是intranet域的一部分,只有在intranet域中IE和IIS才能支持集成Windows身份验证

    【讨论】:

    • 它不必在域中,也可以在 FF 和 Chrome 上工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多