C# 在没有windows身份验证的情况下获取windows登录名

C# 在没有windows身份验证的情况下获取windows登录名,c#,asp.net,iis,windows-authentication,winlogon,C#,Asp.net,Iis,Windows Authentication,Winlogon,我正在尝试从asp.net应用程序获取windows登录用户名。这是我的密码 string user_name = Request.ServerVariables.Get("LOGON_USER"); 这在我的本地环境下运行良好,但当我在IIS上上载相同的代码时,它会给我一个空白,即使我试图通过 HttpContext.Current.User.Identity.Name 但它给了我空白。一旦我启用IIS身份验证到Windows身份验证并禁用Antonyms身份验证,它就可以正常工作了。谁能

我正在尝试从asp.net应用程序获取windows登录用户名。这是我的密码

string user_name = Request.ServerVariables.Get("LOGON_USER");
这在我的本地环境下运行良好,但当我在IIS上上载相同的代码时,它会给我一个空白,即使我试图通过

HttpContext.Current.User.Identity.Name
但它给了我空白。一旦我启用IIS身份验证到Windows身份验证并禁用Antonyms身份验证,它就可以正常工作了。谁能告诉我怎么才能得到这个。如果我使用了任何错误的方法,请纠正我

提前谢谢

编辑:我不想设置Windows身份验证,因此,是否可以通过在Web.Config中设置来在ASP.NET页面级别进行身份验证

<allow user="*"/> or <deny user="?"/>

如果我错了,请更正。

为了获取用户名,您需要使用匿名身份验证之外的其他方法

使用匿名身份验证,您无法获取本地用户的用户名。即使这是可能的,对于一个面向公众的站点b/c来说也是不现实的,因为您可以拥有多台具有相同本地用户名的计算机

另外,由于您提到这是一个公司域之外的面向外部的站点,因此Windows身份验证不是一个选项。Windows身份验证主要用于内部intranet应用程序

如果您希望对每个用户进行唯一标识并拥有表单身份验证,您可能需要的是表单身份验证,ASP.NET支持表单身份验证,并提供现成的控件,允许用户注册和创建网站帐户。查看此链接

回答:“是否可以通过在Web.Config中设置在ASP.NET页面级别进行身份验证?”
在web.config中设置
的授权规则可以控制给定用户在经过
身份验证后的
授权
(在这种情况下,给定用户是否可以访问页面),但不会影响
身份验证
方法或使用的成员资格提供程序。因此,此web.config设置不允许您使用匿名身份验证获取用户名

为了获取用户名,您需要使用匿名身份验证之外的其他方法

使用匿名身份验证,您无法获取本地用户的用户名。即使这是可能的,对于一个面向公众的站点b/c来说也是不现实的,因为您可以拥有多台具有相同本地用户名的计算机

另外,由于您提到这是一个公司域之外的面向外部的站点,因此Windows身份验证不是一个选项。Windows身份验证主要用于内部intranet应用程序

如果您希望对每个用户进行唯一标识并拥有表单身份验证,您可能需要的是表单身份验证,ASP.NET支持表单身份验证,并提供现成的控件,允许用户注册和创建网站帐户。查看此链接

回答:“是否可以通过在Web.Config中设置在ASP.NET页面级别进行身份验证?”
在web.config中设置
的授权规则可以控制给定用户在经过
身份验证后的
授权
(在这种情况下,给定用户是否可以访问页面),但不会影响
身份验证
方法或使用的成员资格提供程序。因此,此web.config设置不允许您使用匿名身份验证获取用户名

为了获取用户名,您需要使用匿名身份验证之外的其他方法

使用匿名身份验证,您无法获取本地用户的用户名。即使这是可能的,对于一个面向公众的站点b/c来说也是不现实的,因为您可以拥有多台具有相同本地用户名的计算机

另外,由于您提到这是一个公司域之外的面向外部的站点,因此Windows身份验证不是一个选项。Windows身份验证主要用于内部intranet应用程序

如果您希望对每个用户进行唯一标识并拥有表单身份验证,您可能需要的是表单身份验证,ASP.NET支持表单身份验证,并提供现成的控件,允许用户注册和创建网站帐户。查看此链接

回答:“是否可以通过在Web.Config中设置在ASP.NET页面级别进行身份验证?”
在web.config中设置
的授权规则可以控制给定用户在经过
身份验证后的
授权
(在这种情况下,给定用户是否可以访问页面),但不会影响
身份验证
方法或使用的成员资格提供程序。因此,此web.config设置不允许您使用匿名身份验证获取用户名

为了获取用户名,您需要使用匿名身份验证之外的其他方法

使用匿名身份验证,您无法获取本地用户的用户名。即使这是可能的,对于一个面向公众的站点b/c来说也是不现实的,因为您可以拥有多台具有相同本地用户名的计算机

另外,由于您提到这是一个公司域之外的面向外部的站点,因此Windows身份验证不是一个选项。Windows身份验证主要用于内部intranet应用程序

如果您希望对每个用户进行唯一标识并拥有表单身份验证,您可能需要的是表单身份验证,ASP.NET支持表单身份验证,并提供现成的控件,允许用户注册和创建网站帐户。查看此链接

回答:“是否可以通过在Web.Config中设置在ASP.NET页面级别进行身份验证?” 在web.config中设置
的授权规则,可以控制在用户通过
身份验证后,对给定用户的
授权
(在这种情况下,给定用户是否可以访问页面)