Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用c在没有windows提示的情况下获取域用户名#_C#_Asp.net - Fatal编程技术网

C# 使用c在没有windows提示的情况下获取域用户名#

C# 使用c在没有windows提示的情况下获取域用户名#,c#,asp.net,C#,Asp.net,我在IIS 7中设置了一个asp.net c#站点 在IIS中,我启用了基本身份验证和windows身份验证,因此我可以获取域用户的用户名,因此,如果有一种方法可以在不提示的情况下获取此用户名,那将是一个完美的解决方案 我使用以下语句获取用户名: String username = System.Web.HttpContext.Current.User.Identity.Name; lblUserName.Text = "Welcome" + username; 我想避免windows提示输入

我在IIS 7中设置了一个asp.net c#站点

在IIS中,我启用了基本身份验证和windows身份验证,因此我可以获取域用户的用户名,因此,如果有一种方法可以在不提示的情况下获取此用户名,那将是一个完美的解决方案

我使用以下语句获取用户名:

String username = System.Web.HttpContext.Current.User.Identity.Name;
lblUserName.Text = "Welcome" + username;
我想避免windows提示输入登录凭据


您能给我一些建议吗?

服务器知道访问用户姓名的唯一方法是该用户是否使用其Windows凭据进行身份验证。默认情况下,IE和Chrome将在没有提示的情况下执行此操作,前提是相关站点位于内部网安全区域。否则,将显示登录提示以防止Simon提到的信息泄露威胁。

您可以使用LoginName控件这也取决于浏览器。IE会传递凭据,但例如FireFox需要在FireFox的配置中启用此功能,然后才能传递windows凭据。这是一个典型的信息泄露案例,为什么我希望我的浏览器在不询问我的情况下告知我的所有内部网络设置(域详细信息)?IE仅对intranet区域中的站点执行此操作,其他所有操作都需要登录提示。