2010-08-24 30 views
0

我正在开发一个带有Windows身份验证的asp.net应用程序。 User.Identity.Name似乎以MACHINENAME\USERNAME的形式返回登录用户。User.Identity.Name

我想用它来访问用户特定设置的数据库,但如果用户从不同的机器登录,那么MACHINENAME部分将会不同。那么我可以简单地采取USERNAME部分并忽略MACHINENAME部分?对于Windows身份验证,User.Identity.Name的格式始终为MACHINENAME\USERNAME

感谢,

AJ

回答

1

更具体地讲,在格式User.Identity.Name返回[Domain]\[User]

如果您的用户显示为不同的领域时,他们从不同的机器访问,那么它们实际上是不同的用户帐户。您可能会删除[Domain]部分,但这意味着如果某台计算机(域)上的任何人以与其他计算机(域)上的用户具有相同名称的用户身份进行连接,则系统将无法告诉他们分开。在你的情况下,这可能是“很好,但现在”,但绝对不是好的做法。

+0

啊,我明白了,它实际上是'[Domain] \\ [User]',谢谢它现在有道理。 – 2010-08-24 17:19:00