Externalizing permissions in Drools Samuel Masué Software developer at CERN
document level meta-data external refreshed
document level meta-data external refreshed
behaviour permission service
behaviour permission service node service webscript dynamic authorities
rules engine centralized
centralized
facts
rules facts
rules facts Get document’s ACL document ACL user Get user’s authorities authorities user + doc reason Why can I see this document? facts
rules facts Get document’s ACL document ACL user Get user’s authorities authorities user + doc reason Why can I see this document? facts
Parameter table (Drools facts) who? what? of whom? permission group(HR) CV all read role(supervisor) contract supervisee read alf(creator) ID card all delete
Parameter table (Drools facts) who? what? of whom? permission group(HR) CV all read role(supervisor) contract supervisee read alf(creator) ID card all delete
Integration with Alfresco creation access update
get node properties set permission generate document ACL creation one single behaviour node service permission service get node properties generate document ACL set permission
get node properties set permission generate document ACL creation one single behaviour node service permission service get node properties generate document ACL set permission
access permission service get ACL get authorities
override get authorities access override get authorities authority service smart override get authorities get custom authorities
override get authorities access override get authorities authority service smart override get authorities get custom authorities
get last changes select impacted nodes update permission update scheduled job who? what? … permission service get last changes select impacted nodes update permission
get last changes select impacted nodes update permission update scheduled job who? what? … permission service get last changes select impacted nodes update permission
Externalizing permissions in Drools Samuel Masué Software developer at CERN