When you work with WebCenter Portal navigation model you do not have the possibility to set the security there or to define which element which user or role for example is able to see it. You can go even farther and for example define some navigation model, which should be rendered based on ID naming convention.
To solve this issue in WebCenter you do have the possibility to develop custom navigation filter. This filter extends exactly the same interface like the custom catalog, this is the CatalogDefinitionFilter interface. This is the example code of how to do it:
Now this example of custom filter shows you some technics you can use inside, to choose if some navigation is able to render or not. For example using this you can approve if the user is authenticated
or you can check if the user has the specific role to load this navigation model:
Also inside this filter you have access to the ID’s of the elements into the navigation model:
so you can also check for example if specific ID should be rendered or not:
Knowing this you can bind for example security with element ID’s, or you can render navigation model element depending on the context path for example.
How to use this filter? Very simple, inside your navigation model put the name of the Navigation Filter class you implemented: <namespace>.CustomNavigationFilter, like shown bellow.