assertRule(){
for rule in getRulesByTenantId()
param , method, value, errorMsg = getParametersFromRule(rule):
if validateRuleCondition(param, method, value):
# user cannot be created, rejected by rule
error(errorMsg)
}
gainRule(){
for rule in getRulesByTenantId()
param , method, value, action = getParametersFromRule(rule):
if validateRuleCondition(param, method, value):
# user will gain permission, defined in action
# example gain tenant 'admin' permission or group membership
# action should have a service, method, and pre definded values
action()
}
create rule table
Before user creation