是否可以限制用户访问列表,但可以通过Code。+ sharepoint 2007访问该列表

时间:2012-06-12 11:18:42

标签: sharepoint-2007

我想限制用户访问列表。 我有一个访问该列表的自定义webpart。但是如果我限制访问,代码也无法访问它并抛出异常。

那么有没有办法让用户无法通过浏览器访问列表,但用户访问的Webpart可以吗?

1 个答案:

答案 0 :(得分:1)

是的,最好的方法是使用系统帐户打开包含的网站集:

SPWeb ctxWeb = SPContext.Current.Web;
using (SPSite adminSite= new SPSite(ctxWeb.Site.ID, SPUserToken.SystemAccount))
{  
  using (SPWeb adminWeb = adminSite.OpenWeb(ctxWeb.ID))
  {
    SPList adminList = adminWeb.Lists["TheRestrictedList"]; 
  } 
}

从使用特定用户令牌打开的网站集中检索的每个对象都表现为给定用户直接访问该元素。

由于我们使用系统帐户令牌打开SPSite,因此无论登录用户如何,我们都可以完全控制对象。