Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Files | Functions | Variables

Files

file  afw_authorization.h
 Adaptive Framework authorization.
 

Functions

const afw_value_tafw_authorization_check (afw_boolean_t enforce, const afw_value_t *request_id_value, const afw_value_t *resource_id_value, const afw_value_t *object_value, const afw_value_t *action_id_value, const afw_pool_t *p, afw_xctx_t *xctx)
 Perform authorization check. More...
 
const afw_authorization_handler_tafw_authorization_handler_get_reference (const afw_utf8_t *authorization_handler_id, afw_xctx_t *xctx)
 Get reference to authorization handler. More...
 
void afw_authorization_handler_release (const afw_authorization_handler_t *instance, afw_xctx_t *xctx)
 Release reference to authorization handler. More...
 

Variables

 afw_authorization_action_id_control
 actionId value control.
 
 afw_authorization_action_id_create
 actionId value create.
 
 afw_authorization_action_id_delete
 actionId value delete.
 
 afw_authorization_action_id_modify
 actionId value modify.
 
 afw_authorization_action_id_query
 actionId value retrieve.
 
 afw_authorization_action_id_read
 actionId value read.
 
 afw_authorization_decision_id_deny_value
 AdaptiveAuthorizationResult decisionId value deny. More...
 
 afw_authorization_decision_id_indeterminate_value
 AdaptiveAuthorizationResult decisionId value indeterminate. More...
 
 afw_authorization_decision_id_indeterminateD_value
 AdaptiveAuthorizationResult decisionId value indeterminateD. More...
 
 afw_authorization_decision_id_indeterminateDP_value
 AdaptiveAuthorizationResult decisionId value indeterminateDP. More...
 
 afw_authorization_decision_id_indeterminateP_value
 AdaptiveAuthorizationResult decisionId value indeterminateP. More...
 
 afw_authorization_decision_id_notApplicable_value
 AdaptiveAuthorizationResult decisionId value notApplicable. More...
 
 afw_authorization_decision_id_permit_value
 AdaptiveAuthorizationResult decisionId value permit. More...
 
 afw_authorization_mode_id_core_value
 AdaptiveAuthorizationMode core. More...
 
 afw_authorization_mode_id_intermediate_value
 AdaptiveAuthorizationMode intermediate. More...
 
 afw_authorization_mode_id_user_value
 AdaptiveAuthorizationMode user. More...
 

Detailed Description

Adaptive Framework authorization support.

Function Documentation

◆ afw_authorization_check()

const afw_value_t* afw_authorization_check ( afw_boolean_t  enforce,
const afw_value_t request_id_value,
const afw_value_t resource_id_value,
const afw_value_t object_value,
const afw_value_t action_id_value,
const afw_pool_t p,
afw_xctx_t xctx 
)

Perform authorization check.

Parameters
enforcetrue causes an error to be thrown if result is not permit.
request_id_valueor NULL to automatically create one.
resource_id_valuestring value is uri of the resource being checked.
object_valueobject value is the resource's object or NULL if not appropriate.
action_id_valuestring value of action.
pused for result.
xctxof caller.
Returns
Authorization result.

The xctx qualifiers used by authorization checking should be set before this call. The context qualifiers should be prepared before this call. For example, see afw_adaptor_context_prepare() and afw_service_context_prepare().

This function also handles obligations.

Application authorization parameters are use to make the decision. The authorization result will only have a decision of permit or deny since indeterminate and not_applicable are resolved based on these parameters.

Todo:
FIXME: What to do about indeterminate?

Definition at line 410 of file afw_authorization.c.

◆ afw_authorization_handler_get_reference()

const afw_authorization_handler_t* afw_authorization_handler_get_reference ( const afw_utf8_t authorization_handler_id,
afw_xctx_t xctx 
)

Get reference to authorization handler.

Parameters
authorization_handler_idof handler to get.
xctxof caller.
Returns
authorization handler or NULL if not one with the specified id.

If necessary, this will start the authorization handler.

afw_authorization_handler_release() should be called when finished with the authorization handler.

Definition at line 1111 of file afw_authorization.c.

◆ afw_authorization_handler_release()

void afw_authorization_handler_release ( const afw_authorization_handler_t instance,
afw_xctx_t xctx 
)

Release reference to authorization handler.

Parameters
instanceof authorization handler.
xctxof caller.

Definition at line 1140 of file afw_authorization.c.

Variable Documentation

◆ afw_authorization_decision_id_deny_value

afw_authorization_decision_id_deny_value

AdaptiveAuthorizationResult decisionId value deny.

/afw/_AdaptiveAuthorizationDecision_/deny for more information.

Definition at line 61 of file afw_authorization.h.

◆ afw_authorization_decision_id_indeterminate_value

afw_authorization_decision_id_indeterminate_value

AdaptiveAuthorizationResult decisionId value indeterminate.

/afw/_AdaptiveAuthorizationDecision_/indeterminate for more information.

Definition at line 69 of file afw_authorization.h.

◆ afw_authorization_decision_id_indeterminateD_value

afw_authorization_decision_id_indeterminateD_value

AdaptiveAuthorizationResult decisionId value indeterminateD.

/afw/_AdaptiveAuthorizationDecision_/indeterminateD for more information.

Definition at line 77 of file afw_authorization.h.

◆ afw_authorization_decision_id_indeterminateDP_value

afw_authorization_decision_id_indeterminateDP_value

AdaptiveAuthorizationResult decisionId value indeterminateDP.

/afw/_AdaptiveAuthorizationDecision_/indeterminateDP for more information.

Definition at line 85 of file afw_authorization.h.

◆ afw_authorization_decision_id_indeterminateP_value

afw_authorization_decision_id_indeterminateP_value

AdaptiveAuthorizationResult decisionId value indeterminateP.

/afw/_AdaptiveAuthorizationDecision_/indeterminateP for more information.

Definition at line 93 of file afw_authorization.h.

◆ afw_authorization_decision_id_notApplicable_value

afw_authorization_decision_id_notApplicable_value

AdaptiveAuthorizationResult decisionId value notApplicable.

/afw/_AdaptiveAuthorizationDecision_/notApplicable for more information.

Definition at line 101 of file afw_authorization.h.

◆ afw_authorization_decision_id_permit_value

afw_authorization_decision_id_permit_value

AdaptiveAuthorizationResult decisionId value permit.

/afw/_AdaptiveAuthorizationDecision_/permit for more information.

Definition at line 109 of file afw_authorization.h.

◆ afw_authorization_mode_id_core_value

afw_authorization_mode_id_core_value

AdaptiveAuthorizationMode core.

/afw/_AdaptiveAuthorizationMode_/core for more information.

Definition at line 118 of file afw_authorization.h.

◆ afw_authorization_mode_id_intermediate_value

afw_authorization_mode_id_intermediate_value

AdaptiveAuthorizationMode intermediate.

/afw/_AdaptiveAuthorizationMode_/intermediate for more information.

Definition at line 126 of file afw_authorization.h.

◆ afw_authorization_mode_id_user_value

afw_authorization_mode_id_user_value

AdaptiveAuthorizationMode user.

/afw/_AdaptiveAuthorizationMode_/user for more information.

Definition at line 134 of file afw_authorization.h.