2010-09-14 46 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

相关问题