Sunday, September 4, 2011

PortalSiteMapProvider was unable to fetch root node


Scenario:
An account with site collection admin privileges gets "access denied" message on accessing the page

Symptom:
Check ULS logs and you find the following message (note URL below depends on your default page)


PortalSiteMapProvider was unable to fetch root node, request URL: /default.aspx, message: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)),

Resolution
There could be multiple reasons for this, one possible reason is that your application pool account does not have full permissions to read the complete site collection.
  • Identify your web apps' app pool account using inetmgr
  • Login to central site administration
  • Go to Application management > Policy for web application
  • Choose the web application where the inaccessible site collection exists
  • Add a full control policy for the app pool account
Possible cause
Derived from resolution :) this could be because portal site map provider uses elevated privileges within its code and when you use elevate privileges it is always the app pool account that is used internally (you may see it as system account on the ui).

2 comments:

PhY said...

thank you :)

FiR said...

ufortunatelly this did not resolve my issue. I have exact this problem and could not solve it this way. :-(