我在一个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中获得的信息也相同。
我确定用户有权访问我的网站,您是否知道发生了什么事?
谢谢!
答案 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;
}
}
});
答案 1 :(得分:0)
我终于明白了,消息“对不起,该站点尚未与您共享”背后的原因是,因为共享点不是以当前用户身份而是以池帐户身份登录到该站点,所以该消息表明该站点尚未为sp_applicationpool或sp_farm帐户共享。我解决了将多数民众赞成帐户添加到我的网站中的问题。
感谢您的帮助!