[New] Added privilege checking for StrolchQueries

This commit is contained in:
Robert von Burg 2014-09-08 13:36:00 +02:00
parent d8a7231855
commit 4f28ec129f
5 changed files with 14 additions and 4 deletions

View File

@ -80,7 +80,7 @@ public class XmlPersistenceHandler extends StrolchComponent implements Persisten
@Override @Override
public StrolchTransaction openTx(StrolchRealm realm, Certificate certificate, String action) { public StrolchTransaction openTx(StrolchRealm realm, Certificate certificate, String action) {
PersistenceTransaction tx = this.persistenceManager.openTx(realm.getRealm()); PersistenceTransaction tx = this.persistenceManager.openTx(realm.getRealm());
return new XmlStrolchTransaction(realm, certificate, action, tx, this); return new XmlStrolchTransaction(getContainer().getPrivilegeHandler(), realm, certificate, action, tx, this);
} }
@Override @Override

View File

@ -20,6 +20,7 @@ import java.util.Set;
import li.strolch.agent.api.StrolchRealm; import li.strolch.agent.api.StrolchRealm;
import li.strolch.persistence.api.AbstractTransaction; import li.strolch.persistence.api.AbstractTransaction;
import li.strolch.persistence.api.PersistenceHandler; import li.strolch.persistence.api.PersistenceHandler;
import li.strolch.runtime.privilege.PrivilegeHandler;
import ch.eitchnet.privilege.model.Certificate; import ch.eitchnet.privilege.model.Certificate;
import ch.eitchnet.xmlpers.api.ModificationResult; import ch.eitchnet.xmlpers.api.ModificationResult;
import ch.eitchnet.xmlpers.api.PersistenceTransaction; import ch.eitchnet.xmlpers.api.PersistenceTransaction;
@ -30,9 +31,9 @@ public class XmlStrolchTransaction extends AbstractTransaction {
private XmlPersistenceHandler persistenceHandler; private XmlPersistenceHandler persistenceHandler;
private PersistenceTransaction tx; private PersistenceTransaction tx;
public XmlStrolchTransaction(StrolchRealm realm, Certificate certificate, String action, PersistenceTransaction tx, public XmlStrolchTransaction(PrivilegeHandler privilegeHandler, StrolchRealm realm, Certificate certificate,
XmlPersistenceHandler persistenceHandler) { String action, PersistenceTransaction tx, XmlPersistenceHandler persistenceHandler) {
super(realm, certificate, action); super(privilegeHandler, realm, certificate, action);
this.persistenceHandler = persistenceHandler; this.persistenceHandler = persistenceHandler;
this.tx = tx; this.tx = tx;
} }

View File

@ -31,6 +31,9 @@
<Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege"> <Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege">
<AllAllowed>true</AllAllowed> <AllAllowed>true</AllAllowed>
</Privilege> </Privilege>
<Privilege name="li.strolch.model.query.StrolchQuery" policy="DefaultPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
</Role> </Role>
</Roles> </Roles>
</UsersAndRoles> </UsersAndRoles>

View File

@ -31,6 +31,9 @@
<Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege"> <Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege">
<AllAllowed>true</AllAllowed> <AllAllowed>true</AllAllowed>
</Privilege> </Privilege>
<Privilege name="li.strolch.model.query.StrolchQuery" policy="DefaultPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
</Role> </Role>
</Roles> </Roles>
</UsersAndRoles> </UsersAndRoles>

View File

@ -31,6 +31,9 @@
<Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege"> <Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege">
<AllAllowed>true</AllAllowed> <AllAllowed>true</AllAllowed>
</Privilege> </Privilege>
<Privilege name="li.strolch.model.query.StrolchQuery" policy="DefaultPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
</Role> </Role>
</Roles> </Roles>
</UsersAndRoles> </UsersAndRoles>