Performs authentication.

Authorizator checks if a given role has authorization to access a given resource.

Represents the user of application.

Represents resource, an object to which access is controlled.

Represents role, an object that may request access to an IResource.

Interface for persistent storage for user object data.