LoginHandler extends ActionEdgeSource, ContainsFunctions, ContainsOperations, ContainsValues, ContainsWires, GeneratesElements, NamedElement, ParameterEdgeDestination, Wireable

Within a Scope, enforces that all user access must be authenticated through a particular login method.

A Scope may contain at most one LoginHandler. All access to elements within this Scope, or its children Scopes, must first satisfy the LoginHandler. The method in which a LoginHandler may be satisfied depends on the type of the LoginHandler. A LoginHandler must have at least one incoming Parameter in order to specify the necessary credentials.

A LoginHandler must provide a login interface, in which the current user can provide credentials in order to satisfy the LoginHandler. A LoginHandler must also provide a logout interface, in which the current user can remove credentials used to satisfy the LoginHandler. Any credentials supplied by the user to satisfy the LoginHandler are stored according to the storage semantics of the protected Scope.

Secret Key

A secret key LoginHandler must have exactly one incoming Parameter from a value instance element, specifying a particular password. When accessing a Scope protected by a secret key LoginHandler, this password must first be provided by the user.

Domain Object

A domain object LoginHandler must have at least one incoming Parameter, each from a DomainAttribute instance. All incoming DomainAttributes must belong either directly or indirectly (through inheritance) to a single DomainType (the target schema).

The login interface for this LoginHandler must therefore provide one user interface element per incoming DomainAttribute in order to provide query values. When accessing a Scope protected by a domain object LoginHandler, these query values will be used in order to select a valid instance. A domain object LoginHandler will only be satisfied if there exists at least one valid instance for these query values.

A domain object LoginHandler may have any number of outgoing SetWires to DomainIterators. When a LoginHandler is satisfied, all of these DomainIterators will be populated with the valid DomainType instances selected. If this LoginHandler is not satisfied, these DomainIterators will be empty.

[LoginHandler.html]

Examples

Implementation Notes

Inference Rules

Constraints

Attributes

Inherited Attributes

Children

(none)

Inherited Children

References

(none)

Inherited References

Extensions

(none)

Inherited Extensions