当我发布WebPart时,在SharePoint中获取错误消息



我在sharepoint admin站点(http://sharepointserver:port(的页面中的webpart中有一个,我想从mysite读取一些信息:

SPUserToken objSPUserToken = SPContext.Current.Site.SystemAccount.UserToken;
//SPUserToken objSPUserToken = SPContext.Current.Web.CurrentUser.UserToken;
using (SPSite mainSite = new SPSite("http://sharepointserver/sites/mysite", objSPUserToken))
{
    SPWeb mainWebSite = mainSite.OpenWeb();
    SPListItemCollection listItemsP = mainWebSite.Lists["Pages"].Items;
}

当我从Visual Studio运行它时,请询问用户/密码并正常执行,但是当我发布WSP并从浏览器运行时,我会有消息:对不起,此网站尚未与您共享

我已经尝试使用CurrentUser(注释的行(,它甚至从Visual Studio中也避开了相同的消息。

我敢肯定用户有权进入MySite,您对发生的事情有任何了解吗?

谢谢!

修改代码如下。

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    //New SPSite object.
    using (SPSite mainSite = new SPSite("http://sharepointserver/sites/mysite"))
    {
        using (SPWeb mainWebSite =  mainSite.OpenWeb())
        {
            SPListItemCollection listItemsP = mainWebSite.Lists["Pages"].Items;
        }
    }
});

参考:spsecurity.runwithelevedprivileges方法

我终于明白了,消息"对不起,此站点尚未与您共享"的原因是因为SharePoint登录到网站不是当前用户,而是池的帐户,因此该消息表明尚未为SP_APPLICATIONPOOL或SP_FARM帐户共享该站点。我解决了将多数民众赞成在MySite中的添加。

感谢您的帮助!

最新更新