-
Improvement
-
Resolution: Won't Fix
-
Major
-
4.0M10
-
None
-
None
ContentTypeAccessController is a hierarchical access controller. Indeed, a content type could inherit from another.
For example:
- Article (article)
- Actualité (news)
- Actualité géolocalisée (geo-news)
- Actualité (news)
The rights on content types are stored in JDBC database with contexts such as :
- /content-types/article
- /content-types/article/news
- /content-types/article/news/geo-news
To check rights on a content type of type "geo-news", 4 SQL queries will potentially be done :
1) with context "/content-types/article/news/geo-news"
2) then if not found with "/content-types/article/news"
3) then if not found with "/content-types/article"
4) then if not found with "/content-types"
You could execute only one SQL queryto get all contexts starting with "/content-types", and handle a cache.
Should JdbcProfileAssignmentStorage handle hierarchical context ? Or write a HierarchicalJdbcProfileAssignmentStorage ?