2010-09-14 93 views
7

我有該用戶的登錄標識。但在代碼中,我想將該登錄名轉換爲SPUser對象。我可以將LoginName(類型字符串)轉換爲SPUser。或者是否有任何方法將Windows身份用戶令牌轉換爲SPUser。 我正在將用戶添加到spgroup(所以在網站上不存在)。我擁有的只是Windows用戶令牌。如何使用用戶標識(domain_name userid)獲取SPUser對象

回答

21

看看SPWeb.EnsureUser。來自MSDN:

「檢查指定的登錄名是否屬於網站的有效用戶,如果登錄名不存在,則將其添加到網站。」

正是如此使用:

SPUser newUser = SPContext.Current.Web.EnsureUser(@"domain\logonname"); 
+8

中所述請注意EnsureUser - 創建一個新用戶,如果它找不到您正在尋找的用戶 – 2011-05-12 13:17:01

+0

如果我需要從用戶那裏獲得不一定添加的名稱到網站,但它們出現在ActiveDirectory中,例如? (我不需要他們被添加到網站) – rolivares 2012-07-05 15:28:59

+0

@rolivares - 你只需要他們的顯示名稱? – CBono 2012-07-09 16:06:11

9
SPUser user = SPContext.Current.Web.Users["domain\\login"]; 
+0

我將用戶添加到組。所以他不在現場存在。 – sssreddy 2010-09-15 00:34:18

+1

所以請使用EnsureUser,如CBono post – 2010-09-15 09:09:32

相關問題