IAuthorizeRequestDefinitionRegistrar

Namespace: ASPSecurityKit.Net
Assembly: ASPSecurityKit.Net.dll

Summary

Provides implementers a way to register authDefinitions that ASK can use to perform authorization for the associated actions.

Methods

AuthorizerFor(action,definitionContainer,authorizer,overrideIfAlreadyRegistered)

Summary

Registers an async instance authorizer for the given action that will decide whether or not current request is authorized. Use this when you have a complex logic of authorizing a particular request (such as when you have multiple Ids in the request to verify.)

Parameters
Name Type Description
action System.Reflection.MethodInfo The action.
definitionContainer System.Type The type containing the authorizer.
authorizer System.Func{System.Object,System.Object[],System.Threading.Tasks.Task{ASPSecurityKit.AuthProviders.AuthResult}} The authorizer method.
overrideIfAlreadyRegistered System.Boolean Indicates whether to override existing registration for the given action.
Exceptions
Type Description
System.ArgumentNullException When action/definitionContainer/authorizer is null.
System.InvalidOperationException When an authorizer is already registered and overrideIfAlreadyRegistered is false.

AuthorizerFor(action,definitionContainer,authorizer,overrideIfAlreadyRegistered)

Summary

Registers an instance authorizer for the given action that will decide whether or not current request is authorized. Use this when you have a complex logic of authorizing a particular request (such as when you have multiple Ids in the request to verify.)

Parameters
Name Type Description
action System.Reflection.MethodInfo The action.
definitionContainer System.Type The type containing the authorizer.
authorizer System.Func{System.Object,System.Object[],ASPSecurityKit.AuthProviders.AuthResult} The authorizer method.
overrideIfAlreadyRegistered System.Boolean Indicates whether to override existing registration for the given action.
Exceptions
Type Description
System.ArgumentNullException When action/definitionContainer/authorizer is null.
System.InvalidOperationException When an authorizer is already registered and overrideIfAlreadyRegistered is false.

CanAuthorize(action)

Summary

Determines whether or not a custom authorizer has been defined for the given action.

Returns

true if a custom authorizer has been defined for the given action; otherwise, false.

Parameters
Name Type Description
action System.Reflection.MethodInfo The action.
Exceptions
Type Description
System.ArgumentNullException When action is null.

TryResolve(container,action)

Summary

Gets the auth definition with its holding type instance (if any) resolved using the given DI container if applicable for the specified action. If no definition is registered for the given action, returns null.

Returns

The auth definition with its holding type instance (if any) resolved using the given DI container for the specified action. If no definition is registered for the given action, returns null.

Parameters
Name Type Description
container ASPSecurityKit.IContainer The container.
action System.Reflection.MethodInfo The action.
Exceptions
Type Description
System.ArgumentNullException When container/action is null.