SPSite constructor (Guid, SPUrlZone, SPUserToken)
Initializes a new instance of the SPSite class based on the specified site collection GUID, URL zone, and user token.
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
SPSite objects that are created with a user token run in the context of the specified user. It is not possible to change the user context of an SPSite object once it has been created. Switching users requires creating a new SPSite object.
The user token is transferable across site collections, but not across identity management systems. For example, pluggable membership and role providers making a request must match the provider on the resource side.
Use the UserToken property to get the user token that is associated with any SPUser object, not just the current user. If the requested user is not the current user, SharePoint Foundation builds the token from the security identifier (SID) of the user and gets the group membership information using the authorization object model (see Authorization, users, groups, and the object model in SharePoint 2013).