Hello,
We found an anomaly when loading policies from the database.
When we deploy a policy (with RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:permit-overrides"), it is loaded in memory and in the database.
When we make a request, while the database is always loaded, we get a reply "PERMIT" (with our test set).
If we restart our program, and database, and we make same requests (with our test set), we got a reply "INDETERMINATE".
When we load policies from database through "XMLDataBasePersistenceManager" (org.herasaf.xacml.pdp.persistence.impl), method "getCombiningAlg()" of "Evaluatable" return "null", however the String return from DataBase is the same in the file that was deployed on DataBase.
loadAll() from XMLDataBasePersistenceManager :
for(String eval : evaluatablesXML){
// eval == File("myPolicy_insert_in_DataBase").toString()
try {
evaluatables.add(createEvaluatableFromString(eval));
//createEvaluatableFromString(eval).getCombiningAlg() == null;
} catch (SyntaxException e) {
throw new DataAccessException(e);
}
}
We do not know where the problem comes because the deployment of policy is through the same object PolicyConverter (method unmarshal(<?>))
The problem could come to the wrong encoding (file, database, ...)?
Regards,
SLF.