当page library出现401或者access denied的时候,先看看自己的code。
比如SPContext . Current . Site . RootWeb 工作用户是anonymous的时候,我们要得到
一个static member: RootFolder.WelcomePage。这个时候就不能用
SPContext . Current . Site .
RootFolder.WelcomePage,因为这样会直接抛出Access Denied异常。只能取巧,通过重新建立新的SPWeb instance的方式,再用ElevatedPrivileges。
bool rtn = false;
SPWeb rootWeb = SPContext.Current.Site.RootWeb;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(rootWeb.Site.Url))
{
using (SPWeb web = site.OpenWeb())
{
rtn = web.Url + "/" + web.RootFolder.WelcomePage
== this.Page.Request.Url.AbsoluteUri;
}
}
});
return rtn;
详细可以参考我在Stackoverflow上的提问 。参考资料