1

我有一个关于 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 身份验证...

有人看到问题了吗?

非常感谢和问候!

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

4

2 回答 2

1

查看asp.net 中身份 impersonate="true" 时如何获取 Windows 用户名?IIS7:像在 IIS6 中一样设置集成 Windows 身份验证

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

于 2013-04-02T15:34:25.647 回答
0

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

于 2013-04-02T17:14:51.193 回答