The security evaluator is the link between the graph security system and an external security system. This interface specifies the methods that are required by the graph security system. It is assumed that the implementation will handle tracking the current user and will query some underlying data source to determine what actions the user can and can not take.
All questions of white listing or black listing will be handled in the concrete implementation.
Implementations of this class should probably cache any evaluate calculations as the evaluate methods are called frequently. However, the underlying classes do cache results within a single method check.
At the the graph level the security evaluator may restrict CRUD access to the graph or model as a whole. When evaluating the restriction, if the user it not permitted to perform the operation on the graph or model access is denied. If the user is permitted any triple restrictions are evaluated.
At the triple level the security evaluator may restrict CRUD access to specific triples. In order to skip potentially expensive triple security checks the system will generally ask if the user is permitted the CRUD action on any triple. This is represented by the SecTriple (ANY, ANY, ANY)
.
true
. false
. SecNode.ANY
, SecNode.FUTURE
, and SecNode.VARIABLE
for discussion of specifics of their respective usages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|