Hi
I created a custom application and content.
In my ApplicationType class I extended IPermissionRegistrar
and register permissions:
public void RegisterPermissions(IPermissionRegistrarController permissionController) { PermissionConfiguration allowPermissionConfiguration = RoadTestService.GetDefaultAllowPermissionConfiguration(); PermissionConfiguration disallowPermissionConfiguration = new PermissionConfiguration { Joinless = new JoinlessGroupPermissionConfiguration { Administrators = true, Owners = true, Moderators = false, RegisteredUsers = false, Everyone = false }, PublicOpen = new MembershipGroupPermissionConfiguration { Owners = true, Managers = false, Members = false, RegisteredUsers = false, Everyone = false }, PublicClosed = new MembershipGroupPermissionConfiguration { Owners = true, Managers = false, Members = false, RegisteredUsers = false, Everyone = false }, PrivateListed = new MembershipGroupPermissionConfiguration { Owners = true, Managers = false, Members = false }, PrivateUnlisted = new MembershipGroupPermissionConfiguration { Owners = true, Managers = false, Members = false } }; permissionController.Register(new RoadTestPermission(RoadTestConstants.PermissionItemCreate, "Create RoadTest", "Enables users to create RoadTest.", RoadTestConstants.RoadTestItemApplicationTypeId, disallowPermissionConfiguration)); ... }
On Permissions settings for group I set this permission for all roles
and also added my custom app to this group.
Then I try to check this permission (from admin user, who is also owner of the group):
Apis.Get<IPermissions>().CheckPermission(RoadTestConstants.PermissionItemCreate, userId,
new PermissionCheckOptions {ApplicationTypeId = RoadTestConstants.RoadTestItemApplicationTypeId,ApplicationId = applicationId,ContentTypeId = Guid.Empty,ContentId = Guid.Empty});
I almost recive error: The content is not secured.
Then I tryed to extend my ApplicationType class with ISecuredContentType (like it done in WikiApplicationType)public partial class RoadTestItemApplicationType : ISecuredContentType { public Guid GetSecurableId(IContent content) { return content.ContentId; } public Guid GetContentPermissionId(IContent content) { return ContentTypeId; } public Guid DefaultPermissionId => ContentTypeId; public Guid DefaultContentPermissionId => RoadTestConstants.PermissionApplicationItemView; }
and now I recive PermissionCheck with IsAllowed=false;
Does someone have working example or manual how to work with permissions on Telligent?