本文整理匯總了Java中org.herasaf.xacml.core.api.PolicyRepository類的典型用法代碼示例。如果您正苦於以下問題:Java PolicyRepository類的具體用法?Java PolicyRepository怎麽用?Java PolicyRepository使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
PolicyRepository類屬於org.herasaf.xacml.core.api包,在下文中一共展示了PolicyRepository類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: undeployAllPolicies
import org.herasaf.xacml.core.api.PolicyRepository; //導入依賴的package包/類
private void undeployAllPolicies(PDP pdp) {
final PolicyRepository repo = (PolicyRepository) pdp
.getPolicyRepository();
final List<Evaluatable> policies = new LinkedList<>(
repo.getDeployment());
for (final Evaluatable policy : policies) {
repo.undeploy(policy.getId());
}
}
示例2: checkAccess
import org.herasaf.xacml.core.api.PolicyRepository; //導入依賴的package包/類
/**
* Access control:
* Check the target elements of the policySetOrPolicy with HERAS against the request. *
*
* @param policySetOrPolicy - a list of PolicyType or PolicySetType objects from PPL
* @param request - the XACML request
* @return the decision (PERMIT, DENY, INDETERMINATE, NOT_APPLICABLE)
* @throws WritingException
* @throws SyntaxException
* @throws com.sap.research.primelife.exceptions.SyntaxException
* @throws JAXBException
*/
public DecisionType checkAccess(List<Object> policySetOrPolicy, RequestType request)
throws WritingException, SyntaxException, com.sap.research.primelife.exceptions.SyntaxException, JAXBException{
// we evaluate request against policy repository associated with the PII
SimplePDPFactory.useDefaultInitializers();
PDP simplePDP = SimplePDPFactory.getSimplePDP();
PolicyRepository repo = simplePDP.getPolicyRepository();
// initialize policy repository
for (Object obj : policySetOrPolicy) {
Evaluatable evaluatable = null;
if (obj instanceof PolicySetType) {
evaluatable = ConverterFunctions.convertToHerasPolicySet(
(PolicySetType) obj);
}
else if (obj instanceof PolicyType) {
evaluatable = ConverterFunctions.convertToHerasPolicy(
(PolicyType) obj);
}
else if (obj instanceof eu.primelife.ppl.policy.xacml.impl.PolicyType) {
evaluatable = ConverterFunctions.convertToHerasPolicy((eu.primelife.ppl.policy.xacml.impl.PolicyType) obj);
}
repo.deploy(evaluatable);
}
ResponseCtx responseCtx = simplePDP.evaluate(new RequestCtx(request));
DecisionType decision = responseCtx.getResponse().getResults().get(0).getDecision();
return decision;
}
示例3: enforce
import org.herasaf.xacml.core.api.PolicyRepository; //導入依賴的package包/類
/**
* Enforces policy given in <code>preferencePath</code> against request
* stored in <code>request</code>.
*
* @param preferencePath preference policy path (in resources)
* @param domain data controller id
* @param resource resource attribute type
* @return policy enforcement result
* @throws SyntaxException
* @throws WritingException
* @throws org.herasaf.xacml.core.SyntaxException
* @throws JAXBException
*/
private DecisionType enforce(String preferencePath, String domain,
String resource) throws SyntaxException, WritingException,
org.herasaf.xacml.core.SyntaxException, JAXBException {
SimplePDPFactory.useDefaultInitializers();
PDP simplePDP = SimplePDPFactory.getSimplePDP();
PolicyRepository repo = simplePDP.getPolicyRepository();
PolicyType policy = (PolicyType) unmarshallerPrime.unmarshal(
getClass().getResourceAsStream(preferencePath));
repo.deploy(ConverterFunctions.convertToHerasPolicy(policy));
RequestCtx request = createRequestContext(domain, resource);
ResponseCtx responseCtx = simplePDP.evaluate(request);
List<ResultType> results = responseCtx.getResponse().getResults();
return results.get(0).getDecision();
}
示例4: undeployPolicies
import org.herasaf.xacml.core.api.PolicyRepository; //導入依賴的package包/類
/**
* Undeploy policies.
*
* @param pdp
* the pdp
* @param policies
* the policies
*/
public void undeployPolicies(PDP pdp, List<Evaluatable> policies) {
PolicyRepository repo = (PolicyRepository) pdp.getPolicyRepository();
for (Evaluatable policy : policies) {
repo.undeploy(policy.getId());
}
}
示例5: undeployPolicy
import org.herasaf.xacml.core.api.PolicyRepository; //導入依賴的package包/類
/**
* Undeploy multiple policies on the policy repository.
*
* @param pdp
* the pdp
* @param policy
* the policy
*/
public void undeployPolicy(PDP pdp, Evaluatable policy) {
PolicyRepository repo = (PolicyRepository) pdp.getPolicyRepository();
repo.undeploy(policy.getId());
}
示例6: undeployPoliciesById
import org.herasaf.xacml.core.api.PolicyRepository; //導入依賴的package包/類
/**
* Undeploy multiple policies on the policy repository.
*
* @param pdp
* the pdp
* @param policyIds
* the policy ids
*/
public void undeployPoliciesById(PDP pdp, List<EvaluatableID> policyIds) {
PolicyRepository repo = (PolicyRepository) pdp.getPolicyRepository();
repo.undeploy(policyIds);
}