See also: https://msdn.microsoft.com/en-us/library/cc230273.aspx
Author: Chad Sikorra (Chad.Sikorra@gmail.com)
Inheritance: use trait LdapTools\Utilities\NumberUtilitiesTrait
Beispiel #1
0
 /**
  * @param string $ctrlFlags
  * @param string $aclType
  * @param SecurityDescriptor $sd
  * @throws SddlParserException
  */
 protected function parseControlFlags($ctrlFlags, $aclType, SecurityDescriptor $sd)
 {
     $flags = ['P' => $aclType . 'ACL_PROTECTED', 'AR' => $aclType . 'ACL_AUTO_INHERIT_REQ', 'AI' => $aclType . 'ACL_AUTO_INHERIT'];
     foreach ($flags as $flag => $name) {
         if (strpos($ctrlFlags, $flag) !== false) {
             $sd->getControlFlags()->add(ControlFlags::FLAG[$name]);
             $ctrlFlags = str_replace($flag, '', $ctrlFlags);
         }
     }
     if (!empty($ctrlFlags)) {
         throw new SddlParserException(sprintf('The control flag(s) "%s" passed to the %sACL are not recognized.', $ctrlFlags, $aclType));
     }
 }