private bool CheckRule(OM2MAccessControlRuleEntity rule, string originator, OM2MOperation operation) { if (FindOriginator(rule.AccessControlOriginators, originator)) { if (operation == OM2MOperation.Create && (rule.AccessControlOperations & (int)OM2MAccessControlOperations.Create) != 0) { return(true); } if (operation == OM2MOperation.Retrieve && (rule.AccessControlOperations & (int)OM2MAccessControlOperations.Retrieve) != 0) { return(true); } if (operation == OM2MOperation.Update && (rule.AccessControlOperations & (int)OM2MAccessControlOperations.Update) != 0) { return(true); } if (operation == OM2MOperation.Delete && (rule.AccessControlOperations & (int)OM2MAccessControlOperations.Delete) != 0) { return(true); } if (operation == OM2MOperation.Notify && (rule.AccessControlOperations & (int)OM2MAccessControlOperations.Notify) != 0) { return(true); } } return(false); }
protected void CheckSelfACP(OM2MAccessControlPolicyEntity acp, string originator, OM2MOperation operation) { if (acp != null && originator != null) { foreach (var rule in acp.SelfPrivileges) { if (CheckRule(rule, originator, operation)) { return; } } } throw new OM2MException(OM2MResponseStatusCode.Forbidden); }
public OM2MResponseStatusCode GetServiceCapability(OM2MOperation operation, out string serviceCapId, out string[] serviceRoleIds) { throw new NotImplementedException(); }