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?