November Happy Hour will be moved to Thursday December 5th.

Class SecurityEntityProvider

Signature for component that provides security entities which can be used to apply access rights for items (for example IContent).

Inheritance
System.Object
SecurityEntityProvider
Namespace: EPiServer.Security
Assembly: EPiServer.Framework.dll
Version: 10.10.4
Syntax
public abstract class SecurityEntityProvider : ProviderBase

Constructors

SecurityEntityProvider()

Declaration
protected SecurityEntityProvider()

Methods

FindUsersInRole(String, String, Int32, Int32, out Int32)

Returns users that are part of given role.

Declaration
public virtual IEnumerable<string> FindUsersInRole(string roleName, string usernameToMatch, int startIndex, int maxRows, out int totalCount)
Parameters
Type Name Description
System.String roleName

The name of the role to get users for

System.String usernameToMatch

The username to match for. Pass in null to match all users.

System.Int32 startIndex

The start index, used for paging

System.Int32 maxRows

The maximum number of rows returned

System.Int32 totalCount

The total amount of matched entites.

Returns
Type Description
System.Collections.Generic.IEnumerable<System.String>

A list of matched users

Remarks

The recommendation is to support partly matches on usernameToMatch. For example in an implementation that uses SQL server the recommendation is to surround the specified value with '%' and use the 'LIKE' operator.

Default implementation returns empty list. Should be overridden to support functionality.

Implemenations should return empty list when role does not exist

GetRolesForUser(String)

Retrieves all roles for user with given userName.

Declaration
public abstract IEnumerable<string> GetRolesForUser(string userName)
Parameters
Type Name Description
System.String userName

The name of the user.

Returns
Type Description
System.Collections.Generic.IEnumerable<System.String>

A list of all roles for the user.

Search(String, String)

Searches all security entities of given type with a matching name.

Declaration
public abstract IEnumerable<SecurityEntity> Search(string partOfValue, string claimType)
Parameters
Type Name Description
System.String partOfValue

Part of value to match or null to get all of given type.

System.String claimType

The claimType to search for.

Returns
Type Description
System.Collections.Generic.IEnumerable<SecurityEntity>

A list of all matching entities or an empty list if no matches.

Remarks

The recommendation is to support partly matches on partOfValue. For example in an implementation that uses SQL server the recommendation is to surround the specified value with '%' and use the 'LIKE' operator.

Search(String, String, Int32, Int32, out Int32)

Searches all security entities of given type with a matching name with paging support.

Declaration
public abstract IEnumerable<SecurityEntity> Search(string partOfValue, string claimType, int startIndex, int maxRows, out int totalCount)
Parameters
Type Name Description
System.String partOfValue

Part of value to match or null to get all of given type.

System.String claimType

The claim type to search for.

System.Int32 startIndex

The start index, used for paging

System.Int32 maxRows

The maximum number of rows returned

System.Int32 totalCount

The total amount of matched entites. Return -1 if provider does not support paging.

Returns
Type Description
System.Collections.Generic.IEnumerable<SecurityEntity>

A list of all matching entities or an empty list if no matches.

Remarks

The recommendation is to support partly matches on partOfValue. For example in an implementation that uses SQL server the recommendation is to surround the specified value with '%' and use the 'LIKE' operator.

Extension Methods