[This is preliminary documentation and is subject to change.]
Defines fundamental security types like users and permissions
Classes
Class | Description | |
---|---|---|
![]() | AccessLevel |
A level of access granted to user for certain permission, i.e. if (level.Denied).....
|
![]() | AdHocPermission |
Represents a permission check instance which is a-typical and is based on string arguments
|
![]() | AuthorizationException |
Base exception thrown by the security framework
|
![]() | BlankCredentials |
Represents credentials that are absent. This is a singleton class
|
![]() | ConfigSecurityManager |
Provides security manager implementation that authenticates and authorizes users from configuration
|
![]() | Credentials |
User credentials base class. A credentials may be as simple as user+password, access card codes, door key, Twitter account token etc...
|
![]() | DefaultPasswordManager |
Provides default implementation for password managment functionality based on injectable algorithms and default password strength calculation
|
![]() | GDIDCredentials |
Represents credentials based on Global Distributed ID
|
![]() | HashedPassword |
Represents abstraction of a hashed password, the concreate password algorithm provide implementation (i.e. bytebuffer, dictionary, string)
|
![]() | IDPasswordCredentials |
Represents simple ID/password textual credentials.
Note: The password is stored as plain text
|
![]() | MD5PasswordHashingAlgorithm | |
![]() | NOPSecurityManager |
Provides security manager implementation that does nothing and always returns fake user instance
|
![]() | PasswordHashingAlgorithm |
Represents an abstraction of password algorithm that performs hashing and verification of passwords supplied as SecureBuffer
|
![]() | PasswordHashingAlgorithm TOptions | |
![]() | PasswordRepresentation |
Provides password representation content, i.e. an image with drawn password which is understandable by humans
|
![]() | Permission |
Represents a general permission abstraction - where permission type represents the path/name of the permission
in User's rights and .ctor takes specific parameters to check while authorizing user.
Permission-derived class represents a certain permission type, whereas its instance is a check for particular desired level.
To authorize certain actions, one creates an instance of Permission-derived class passing in its .ctor required
access levels, then calls a Check() method that returns true if action is authorized.
This scheme provides a great deal of flexibility, i.e. for very complex security cases developers may inherit leaf-level permissions from intermediate ones
that have logic tied to session-level variables, this way user's access may vary by permission/session state, i.e. a user may have
"Patient.Master" level 4 access in database "A", while having acess denied to the same named permission in database "B".
User's database, or system instance is a flag in user-session context
|
![]() | Rights |
User rights contains data about access levels to permissions in the system.
Use Configuration internally to keep the data organized in hierarchical navigable structure.
Configuration also allows to cross-link permission levels using vars and make acess level
dependent on settings on a particular machine using environmental vars
|
![]() | SecureBuffer | |
![]() | SecurityException |
Base exception thrown by the Security framework
|
![]() | SocialNetTokenCredentials |
Represents credentials supplied from/to Social Net site (i.e. Facebook, Twitter etc.)
|
![]() | TypedPermission |
A general ancestor for all typed permissions - the ones declared in code
|
![]() | User |
Provides base user functionality. Particular security manager implementations may return users derived from this class
|
Structures
Structure | Description | |
---|---|---|
![]() | AuthenticationToken |
Represents security provider-internal ID that SecurityManager assigns into User object on authentication.
These tokens can be used in place of Credentials to re-authenticate users or to requery user rights.
External parties should never be supplied with this struct as it is backend-internal
|
![]() | MD5PasswordHashingOptions |
Interfaces
Interface | Description | |
---|---|---|
![]() | IPasswordHashingOptions | |
![]() | IPasswordManager |
Denoutes an entity that manages passwords such as: computes and verified hash tokens
and provides password strength verification
|
![]() | IPasswordManagerImplementation | |
![]() | ISecurityException |
Marker interface for security exceptions
|
![]() | ISecurityManager |
Represents an entity that performs user authentication based on passed credentials and other security-related global tasks
|
![]() | ISecurityManagerImplementation |
Represents an implementation of an entity that performs user authentication based on passed credentials and other security-related global tasks
|
![]() | IStringRepresentableCredentials |
Denotes credentials that can be represented as a string that can be used for example in Authorization header
|
Delegates
Delegate | Description | |
---|---|---|
![]() | GetSessionFunc |
Invoked by permission checker to get session
|
Enumerations
Enumeration | Description | |
---|---|---|
![]() | PasswordFamily |
Denoutes kinds of passwords i.e.: text that user types on login, short PIN,
geometrical curve that users need to trace with their finger, select areas of picture
|
![]() | PasswordRepresentationType |
Flags denote types of password representation: Text/Image/Audio
|
![]() | PasswordStrengthLevel | |
![]() | UserStatus |
User status enumeration - super-permission levels
|