本文整理汇总了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);
}