我正在使用Windows身份验证开发一个asp.net应用程序。 User.Identity.Name似乎以MACHINENAME\USERNAME
的形式返回登录用户。
我想用它来访问用户特定设置的数据库但是如果用户从另一台机器登录会发生什么,那么MACHINENAME
部分会有所不同。那么我可以简单地使用USERNAME
部分而忽略MACHINENAME
部分吗?用于Windows身份验证的User.Identity.Name的格式是否总是MACHINENAME\USERNAME
?
谢谢,
AJ
答案 0 :(得分:1)
更具体地说,User.Identity.Name
以[{1}}
如果您的用户在从不同的计算机访问时显示为不同的域,则它们实际上是不同的用户帐户。您可能能够删除[Domain]\[User]
部分,但这意味着如果计算机(域)上的任何人以与用户名相同的用户身份连接到另一台计算机(域),则系统赢了能分辨他们。在你的场景中,这可能是“好的,现在”,但这绝对不是一种好的做法。