发布WebPart时在Sharepoint中收到错误消息

时间:2019-07-04 03:45:28

标签: sharepoint

我在一个Webpart中将它插入了Sharepoint管理网站(http://sharepointserver:port)页面中,我想从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中获得的信息也相同。

我确定用户有权访问我的网站,您是否知道发生了什么事?

谢谢!

2 个答案:

答案 0 :(得分:0)

按如下所示修改代码。

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.RunWithElevatedPrivileges method

答案 1 :(得分:0)

我终于明白了,消息“对不起,该站点尚未与您共享”背后的原因是,因为共享点不是以当前用户身份而是以池帐户身份登录到该站点,所以该消息表明该站点尚未为sp_applicationpool或sp_farm帐户共享。我解决了将多数民众赞成帐户添加到我的网站中的问题。

感谢您的帮助!