Class PrincipalInfo
A class that encapsulates some of the details dealing with the IPrincipal interface and corresponding issues with permissions and role/membership management.
Inheritance
Inherited Members
Namespace: EPiServer.Security
Assembly: EPiServer.Cms.AspNet.dll
Version: 11.20.7Syntax
public class PrincipalInfo
Constructors
PrincipalInfo(IPrincipal)
Initializes a new instance of the PrincipalInfo class.
Declaration
public PrincipalInfo(IPrincipal principal)
Parameters
Type | Name | Description |
---|---|---|
System.Security.Principal.IPrincipal | principal | The principal object that you want to work with. |
Properties
AnonymousPrincipal
Gets a principal object representing the an anonoymous principal.
Declaration
public static IPrincipal AnonymousPrincipal { get; }
Property Value
Type | Description |
---|---|
System.Security.Principal.IPrincipal | The anonymous principal. |
Current
Gets a PrincipalInfo object initialized with the current principal.
Declaration
public static PrincipalInfo Current { get; }
Property Value
Type | Description |
---|---|
PrincipalInfo | The PrincipalInfo object. |
CurrentPrincipal
Gets or sets the current principal.
Declaration
public static IPrincipal CurrentPrincipal { get; set; }
Property Value
Type | Description |
---|---|
System.Security.Principal.IPrincipal | The current principal. |
Remarks
This method will use the user from the http context an HttpContext exists, otherwise it will fall back to the the Thread.CurrentPrincipal setting.
When you get the current principal you are assured to always get a valid IPrincipal.
HasAdminAccess
Checks for user access to the /admin pages.
Declaration
public static bool HasAdminAccess { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
HasEditAccess
Checks for user access to the /edit pages.
Declaration
public static bool HasEditAccess { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
HasEditorAccess
Checks for user access to the /editor pages.
Declaration
public static bool HasEditorAccess { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Name
Gets the name of the principal.
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
System.String | The name. |
Remarks
This is a convenience method to directly access the Name property of the contained Indentity.
Principal
Gets the principal used by this instance.
Declaration
public IPrincipal Principal { get; }
Property Value
Type | Description |
---|---|
System.Security.Principal.IPrincipal | The principal. |
RoleList
Gets the list of roles that the principal belongs to.
Declaration
public ICollection<string> RoleList { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.ICollection<System.String> | The role list. |
Remarks
Uses System.Security.Claims.ClaimsPrincipal to get a list of all role claims
Methods
CreatePrincipal(String)
Creates a principal object for a user.
Declaration
[Obsolete("Use IUserImpersonation")]
public static IPrincipal CreatePrincipal(string username)
Parameters
Type | Name | Description |
---|---|---|
System.String | username | The name of the user. |
Returns
Type | Description |
---|---|
System.Security.Principal.IPrincipal | An IPrincipal with the associated roles initialized. |
Remarks
The Roles system must be enabled in order for this method to work. Note that there is no check that the passed username exists in the current Membership provider, a non-existing username will return a principal object with the given name and an empty role list. If role system is disabled then a principal without roles is returned.
HasPathAccess(String)
Determines whether the contained principal has access to the specified path.
Declaration
public virtual bool HasPathAccess(string path)
Parameters
Type | Name | Description |
---|---|---|
System.String | path | The path to check. |
Returns
Type | Description |
---|---|
System.Boolean |
|
IsPermitted(PermissionType)
Determines whether the specified permission is granted to the current principal.
Declaration
public bool IsPermitted(PermissionType permissionType)
Parameters
Type | Name | Description |
---|---|---|
PermissionType | permissionType | The permission type. |
Returns
Type | Description |
---|---|
System.Boolean |
|
RecreatePrincipalForThreading()
Recreates the principal for threading.
Declaration
public static void RecreatePrincipalForThreading()
WindowsIdentityRoles(WindowsIdentity)
Gets the identity roles for a WindowsIdentity.
Declaration
public ICollection<string> WindowsIdentityRoles(WindowsIdentity wi)
Parameters
Type | Name | Description |
---|---|---|
System.Security.Principal.WindowsIdentity | wi | The WindowsIdentity object. |
Returns
Type | Description |
---|---|
System.Collections.Generic.ICollection<System.String> | A collection of role names. |
Remarks
In most cases you should use the RoleList method.