Asp.net 域名是否会从HttpContext.Current.User.Identity中消失?
我正在开发一个简单的单页ASP.Net网站,该网站在公司内部由有限数量的用户使用 在其中,我使用Asp.net 域名是否会从HttpContext.Current.User.Identity中消失?,asp.net,.net-4.0,httpcontext,Asp.net,.net 4.0,Httpcontext,我正在开发一个简单的单页ASP.Net网站,该网站在公司内部由有限数量的用户使用 在其中,我使用HttpContext.Current.User.Identity以Domain\ActiveDirectoryUserName的格式获取登录的用户名,并按照本文中的答案建议剥离域名:并将其显示在标签中,如Hello xyz 是否会有这样一种情况,域名不会出现在HttpContext.Current.User.Identity中 更新:此网站使用Windows身份验证首先,如果用户是匿名的,您将获得
HttpContext.Current.User.Identity
以Domain\ActiveDirectoryUserName的格式获取登录的用户名,并按照本文中的答案建议剥离域名:并将其显示在标签中,如Hello xyz
是否会有这样一种情况,域名不会出现在HttpContext.Current.User.Identity
中
更新:此网站使用Windows身份验证首先,如果用户是匿名的,您将获得一个空字符串作为用户身份 其次,当您使用支持域的身份验证源时,只有一个域存在。如果您在IIS下使用Windows集成身份验证,则域将始终存在于每个非匿名用户标识中。如果您使用的是表单身份验证或其他身份验证源,则提供程序可以完全控制用户身份的格式
正如您所指出的,您正在使用Windows集成身份验证,只要用户经过身份验证,您将始终拥有一个域。如果允许匿名访问,则在尝试解析其名称之前,应首先检查
HttpContext.Current.User.IsAuthenticated
。首先,如果该用户是匿名的,则将获得一个空字符串作为该用户的身份
其次,当您使用支持域的身份验证源时,只有一个域存在。如果您在IIS下使用Windows集成身份验证,则域将始终存在于每个非匿名用户标识中。如果您使用的是表单身份验证或其他身份验证源,则提供程序可以完全控制用户身份的格式
正如您所指出的,您正在使用Windows集成身份验证,只要用户经过身份验证,您将始终拥有一个域。如果允许匿名访问,则在尝试解析其名称之前,应先检查
HttpContext.Current.User.IsAuthenticated