2010-08-24 28 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