C# 如何只看到;我的";将项目级别权限用作网站所有者时列表中的项目

C# 如何只看到;我的";将项目级别权限用作网站所有者时列表中的项目,c#,sharepoint,moss,C#,Sharepoint,Moss,给定列表名“用户数据”,并将项目级权限设置为“仅其自己的”以进行读取和编辑 作为网站所有者,在使用SharePoint对象模型时,如何仅查看该列表中我自己的项目?基本上,我希望存储少量用户可维护的数据,并通过web部件显示这些数据 SPList list = web.Lists["User Data"]; if (list != null) { foreach (SPListItem item in list.Items) { // How to limit th

给定列表名“用户数据”,并将项目级权限设置为“仅其自己的”以进行读取和编辑

作为网站所有者,在使用SharePoint对象模型时,如何仅查看该列表中我自己的项目?基本上,我希望存储少量用户可维护的数据,并通过web部件显示这些数据

SPList list = web.Lists["User Data"];
if (list != null)
{
    foreach (SPListItem item in list.Items)
    {
        // How to limit this for admin accounts to not see everything
        // Maybe using SPQuery instead or something?
    }
}

我想另一个有趣的问题是,如何判断当前用户是否具有“管理列表”权限并执行一些自定义查询?

网站所有者是一个非常特殊的权限(实际上他们不是权限),它告诉SharePoint忽略安全模型,只显示所有内容


因此,您需要检查要筛选的列表项上的某些属性。

您认为检查SPWeb.AllRolesForCurrentUser并仅筛选将看到所有内容的用户合理吗?这取决于。。。如果我的用户中只有一小部分是网站所有者,那么是的。如果大多数用户都是网站所有者,则不是。