Skip to content

Commit e2ff09b

Browse files
HerbertMauererbartonjscarlossanlop
authored
Update ObjectSecurity.xml (#3444)
* Update ObjectSecurity.xml When you call the method SetAccessRuleProtection with both parameters on true, you may create a non-canonical DACL. I just made the most important changes. if you want to provide more details and e.g. code to "repair" the ACE order, I think this should go to a separate topic. I have a colleague who provided sample code. * Update xml/System.Security.AccessControl/ObjectSecurity.xml Co-Authored-By: Carlos Sanchez Lopez <[email protected]> * Update xml/System.Security.AccessControl/ObjectSecurity.xml Co-authored-by: Jeremy Barton <[email protected]> Co-authored-by: Carlos Sanchez Lopez <[email protected]>
1 parent 34c0f5c commit e2ff09b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

xml/System.Security.AccessControl/ObjectSecurity.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1345,7 +1345,16 @@
13451345
<param name="preserveInheritance">
13461346
<see langword="true" /> to preserve inherited access rules; <see langword="false" /> to remove inherited access rules. This parameter is ignored if <paramref name="isProtected" /> is <see langword="false" />.</param>
13471347
<summary>Sets or removes protection of the access rules associated with this <see cref="T:System.Security.AccessControl.ObjectSecurity" /> object. Protected access rules cannot be modified by parent objects through inheritance.</summary>
1348-
<remarks>To be added.</remarks>
1348+
<remarks>
1349+
<format type="text/markdown"><![CDATA[
1350+
1351+
## Remarks
1352+
When you call the method with `isProtected=true` and `preserveInheritance=true`, you need to walk the new ACL of the object and check for DENY type ACEs.
1353+
For a canonically sorted DACL, the DENY ACEs must appear in the front of the DACL.
1354+
For more information on the canonical ordering of ACLs, see [Order of ACEs in a DACL](https://docs.microsoft.com/en-us/windows/win32/secauthz/order-of-aces-in-a-dacl).
1355+
1356+
]]></format>
1357+
</remarks>
13491358
<exception cref="T:System.InvalidOperationException">This method attempts to remove inherited rules from a non-canonical Discretionary Access Control List (DACL).</exception>
13501359
</Docs>
13511360
</Member>

0 commit comments

Comments
 (0)