Location: Symbol Reference > Classes > TJwServerAccessControl Class > TJwServerAccessControl Properties > TJwServerAccessControl.StrictACLVerify Property
JWSCL Documentation
ContentsIndexHome
PreviousUpNext
TJwServerAccessControl.StrictACLVerify Property
Pascal
property StrictACLVerify: Boolean;

This property applies strict compatibility to the implementation of IAccessControl of MS. Default value is false.

The following methods are made compatible:

  • SetOwner
    • Returns MAKE_HRESULT(1, FacilityCode, ERROR_INVALID_PARAMETER) if a trustee is not compatible to implementation of IAccessControl.
    • Owner and Group is still supported (Implementation of IAccessControl does not support owner and group)
  • SetAccessRights
    • This method fails with
      • MAKE_HRESULT(1, FacilityCode, ERROR_INVALID_ACCESS) if the Access member is not COM_RIGHTS_EXECUTE or 0.
      • MAKE_HRESULT(1, FacilityCode, ERROR_INVALID_PARAMETER) if any other value is not conform to IAccessControl implementation.
      • E_INVALIDARG if pAccessList is not compatible to IAccessControl implementation.
  • GrantAccessRights
  • RevokeAccessRights
    • Trustee check
  • GetAllAccessRights
    • This method converts the internal security descriptor (TJwSecurityDescriptor) into a compatible version and returns it.
    • Owner and Group is still supported (Implementation of IAccessControl always returns nil)
 

All methods which receives a trustee validates them: MAKE_HRESULT(1, FacilityCode, ERROR_INVALID_PARAMETER) if trustee is not conform to IAccessControl implementation.

Reversed IAccessControl Requirements:

  1. ACTRL_Access.cEntries = 1
  2. ACTRL_Access.pPropertyAccessList <> nil
  3. ACTRL_PROPERTY_ENTRY.lpProperty = nil
  4. ACTRL_PROPERTY_ENTRY.fListFlags = 0
  5. ACTRL_ACCESS_ENTRY_LIST.pAccessEntryList <> nil
      
  6. (ACTRL_ACCESS_ENTRY_LIST.cEntries <> 0) or
     (ACTRL_ACCESS_ENTRY_LIST.pAccessList <> nil)
      
  7. ACTRL_ACCESS_ENTRY.Access = 1 or 0
  8. ACTRL_ACCESS_ENTRY.ProvSpecificAccess = 0
  9. ACTRL_ACCESS_ENTRY.Inheritance = 0
  10. ACTRL_ACCESS_ENTRY.lpInheritProperty = 0
  11. ACTRL_ACCESS_ENTRY.fAccessFlags = 1 or 2
      
  12. TRUSTEE.pMultipleTrustee = nil
  13. TRUSTEE.MultipleTrusteeOperation = 0
  14. TRUSTEE.TrusteeForm = 0 or 1
  15. TRUSTEE.TrusteeType = 1 or 2
  16  TRUSTEE.ptstrName <> nil
Copyright (c) 2010. All rights reserved.
This help was created by Doc-O-Matic sponsored by toolsfactory software inc.
What do you think about this topic? Send feedback!