我正在做一个简单的一页ASP.Net网站,在公司内部使用有限数量的用户。
在它中,我使用HttpContext.Current.User.Identity以Domain\ActiveDirectoryUserName格式获取日志用户的名称,并按照本文中的答案:Built-in helper to parse User.Identity.Name into Domain\Username的建议去掉域名,并在Hello 这样的标签中显示它
会不会有一个场景,在HttpContext.Current.User.Identity中域名将不存在?
更新:本网站使用Windows身份验证
发布于 2012-02-15 21:40:48
首先,如果用户是匿名的,您将得到一个空字符串作为用户的身份。
其次,当您使用支持域的身份验证源时,只有一个域存在。如果在IIS下使用Windows集成身份验证,则域将始终存在于每个非匿名用户标识中。如果使用的是窗体身份验证或其他身份验证源,则提供程序完全控制用户标识的格式。
正如您已经指出的,您使用的是Windows集成身份验证,只要用户经过身份验证,您将始终拥有一个域。如果允许匿名访问,则在尝试解析其名称之前,应先检查该HttpContext.Current.User.IsAuthenticated。
https://stackoverflow.com/questions/9301811
复制相似问题