Skip navigation links

Apache Jena - Security Permissions 3.14.0

JenaSecurity is a SecurityEvaluator interface and a set of dynamic proxies that apply that interface to Jena Graphs, Models, and associated methods and classes.

See: Description

Packages 
Package Description
org.apache.jena.permissions
JenaSecurity is a SecurityEvaluator interface and a set of dynamic proxies that apply that interface to Jena Graphs, Models, and associated methods and classes.
org.apache.jena.permissions.example  
org.apache.jena.permissions.example.readonly
Example code for creating a read only model/graph
org.apache.jena.permissions.graph
Secured implementation of the Graph interface and associated classes.
org.apache.jena.permissions.graph.impl  
org.apache.jena.permissions.impl  
org.apache.jena.permissions.model  
org.apache.jena.permissions.model.impl  
org.apache.jena.permissions.query  
org.apache.jena.permissions.query.rewriter  
org.apache.jena.permissions.utils  

JenaSecurity is a SecurityEvaluator interface and a set of dynamic proxies that apply that interface to Jena Graphs, Models, and associated methods and classes.

The SecurityEvaluator class must be implemented. This class provides the interface to the authentication results (e.g. getPrincipal() ) and the authorization system.

Differences Between Graph and Model

The Graph interface does not have the concept of "update". Thus all updates are implemented as a delete and an insert. The Model interface does have the concept of update as evidenced by the replace() method in the RDFList class. This difference means that a Model created by calling ModelFactory.createModelForGraph( SecuredGraph ) will yield a model that evaluates Update actions differently from one created with Factory.getInstance( SecurityEvaluator, modelIRI, model) .

This is the well documented case of differences between the two secured model creation methods. For this reason it is recommended that the model be created with the Factory.getInsance() method.

Skip navigation links

Licensed under the Apache License, Version 2.0