0

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

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

无法使用web.Ensure

4

1 回答 1

0

根据 MSDN:

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

所以使用 AllUsers 集合

 SPUser user = web.Site.RootWeb.AllUsers["UserLoginName"];
于 2013-09-13T10:21:14.967 回答