获取SPUser对象

时间:2013-09-13 10:06:40

标签: sharepoint permissions

我正在尝试使用此代码获取SPUser对象,但即使它为DoesUserHavePermissions(...返回true,它仍然会抛出未找到用户的异常,是否有人知道任何修复或方法?

if (web.Site.RootWeb.DoesUserHavePermissions("UserLoginName", SPBasePermissions.Open))
{
   SPUser user = web.Site.RootWeb.Users["UserLoginName"];
}

无法使用web.Ensure

1 个答案:

答案 0 :(得分:0)

根据MSDN:

  • SPWeb.Users包含在网站中明确分配权限的用户对象。
  • SPWeb.AllUsers包含用户对象,这些用户对象表示作为站点成员或已浏览到站点的所有用户,作为站点中域组的经过身份验证的成员。

所以使用AllUsers集合

 SPUser user = web.Site.RootWeb.AllUsers["UserLoginName"];