The Closed User Group (CUG) project is a CoreMedia Blueprint extension with the goal to provide restricted content areas for the CoreMedia delivery. Editors use CoreMedia Studio to define content visibility restrictions based on customer roles. The CoreMedia CAE and Search restrict accessibility of content items according to the setup in Studio.
This extension implements a folder based restriction model based on a positive list. Visibility settings are stored in the folderProperties content type. The CAE uses Spring Security to authenticate and authorize users. As an example implementation this extension provides a Spring Security Filter for the persona chooser provided with CoreMedia Adaptive Personalization.
Setup of user roles and define visibility restrictions
The implementation uses the Spring Security Contexts to provide users identity and authorities. Authorities are managed via CMSymbol content items linked to the folderProperties content item of the folder you want to restrict the visibility for.
Map roles in folderProperties:
Manage possible roles
You can get the source code here: https://github.com/coremedia-contributions/closedusergroups
It is provided and installed as a CoreMedia Extension.
- CoreMedia Content Cloud
The code we provide is meant to be example code, illustrating a set of features that could be used to enhance your CoreMedia experience. We'd love to hear your feedback on use-cases and further developments! Please refer to the Github issues section if you have problems with our code. If you already have a solution to an issue, we love to review and integrate your pull requests.