Decorators are a way of sharing implementation across multiple data providers. Sitefinity CMS has a built-in decorator for OpenAccess. Unless you have a reason not to use OpenAccess, you won't have to worry about implementing the methods that are mentioned in this topic.
Information in this topic will be useful for provider implementors, as the decorator methods are usually implementing provider methods. This usually happens like this:
permissionSet, Guid objectId, Guid principalId)
.providerDecorator.CreatePermission(permissionSet, objectId, principalId);
"CreatePermission<TPermission>(string permissionSet, Guid objectId, Guid principalId)"
Executes permission inheritance between a parent and a child hierarchical secured objects. The algorithm is as follows:
.Any(p => p.ObjectId == parent.Id &&
p.ChildObjectId == child.Id
CreatePermissionInheritanceAssociation(ISecuredObject parent, ISecuredObject child)
Adds a permission to a secured object, and handles inheritance throughout the tree. Implementation follows these steps:
AddPermissionToObject(ISecuredObject securedObject, Permission permission,
AddPermissionToObject(ISecuredObject securedObject, IManager managerInstance, Permission permission,
Get or create the security root. If security root is to be created, one can specify labeling information and/or supported permission sets.
Every permission contains information about inheritance. Part of that information is the permission's child object type. If one wanted to shorten that name so that less information is stored in database, this would be the method that returns a CLR type from the shortened CLR type name string.
Every permission contains information about inheritance. Part of that information is the permission's child object type. If one wanted to shorten that name so that less information is stored in database, this would be the method that creates a shortened type name using a CLR type.
Back To Top
To submit feedback, please update your cookie settings and allow the usage of Functional cookies.
Your feedback about this content is important
Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, Ipswitch, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.
Powered by Progress Sitefinity