【问题标题】:User.Identity.Name用户.身份.名称
【发布时间】:2010-08-24 17:11:15
【问题描述】:

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

我想用它来访问用户特定设置的数据库,但是如果用户从不同的机器登录会发生什么,那么MACHINENAME 部分会有所不同。那么我可以简单地接受USERNAME 部分而忽略MACHINENAME 部分吗? Windows 身份验证的 User.Identity.Name 格式是否始终为MACHINENAME\USERNAME

谢谢,

AJ

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

    如果您的用户在从不同机器访问时显示为不同的域,那么他们实际上是不同的用户帐户。您也许可以去掉[Domain] 部分,但这意味着如果机器(域)上的任何人以与另一台机器(域)上的用户同名的用户身份连接,那么系统将不会能够区分它们。在您的场景中,这可能“暂时还可以”,但这绝对不是一个好的做法。

    【讨论】:

    • 啊,我明白了,原来是[Domain]\\[User],谢谢,现在明白了。
    猜你喜欢
    • 2013-10-05
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    相关资源
    最近更新 更多