當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上的提問 。參考資料