Placing the SitePrincipal object into a Session object to avoid the
reload in each page is an interesting approach. I tried that, and was
able to retreive the object from Session, but using this object always
fails during the permission check. I'll check into it further when I get
a chance but in the meantime, has anyone else encountered the same?
There was earlier discussion of the problems when VS.NET sometimes places
the base.OnInit(e) call AFTER InitilizeComponents(). I experienced the
same thing but when I first encountered, I just figured the VS.NET code
was OK. I thought I hosed something up somewhere. My resolution was to
implement a global AuthenticateRequest event handler (global.asax.cs)
that rebuilds the SitePrincipal object; it's always invoked before any
page code.
Now I see that with base.OnInit(e) being invoked first, there's no need
to use the global handler. Still, it's an alternative approach to
implementing PhilePageBase code.