本文整理汇总了Java中org.herasaf.xacml.core.api.PDP.getPolicyRepository方法的典型用法代码示例。如果您正苦于以下问题:Java PDP.getPolicyRepository方法的具体用法?Java PDP.getPolicyRepository怎么用?Java PDP.getPolicyRepository使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.herasaf.xacml.core.api.PDP
的用法示例。
在下文中一共展示了PDP.getPolicyRepository方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deployPolicies
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的package包/类
void deployPolicies(PDP pdp, List<Evaluatable> policies,
XacmlRequestDto xacmlRequest, boolean isAudited) {
try {
final PolicyRetrievalPoint repo = pdp.getPolicyRepository();
final UnorderedPolicyRepository repository = (UnorderedPolicyRepository) repo;
repository.deploy(policies);
if (isAudited) {
for (final Evaluatable policy : policies) {
auditPolicy(policy, xacmlRequest);
}
}
} catch (AuditException | WritingException | IOException
| DocumentAccessorException | DocumentXmlConverterException e) {
log.error(e.getMessage(), e);
undeployAllPolicies(pdp);
throw new C2SAuditException(e.getMessage(), e);
}
}
示例2: undeployAllPolicies
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的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());
}
}
示例3: checkAccess
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的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;
}
示例4: enforce
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的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();
}
示例5: undeployPolicies
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的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());
}
}
示例6: deployPolicies
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的package包/类
/**
* Deploy policies.
*
* @param pdp
* the pdp
* @param policies
* the policies
*/
public void deployPolicies(PDP pdp, List<Evaluatable> policies) {
PolicyRetrievalPoint repo = pdp.getPolicyRepository();
UnorderedPolicyRepository repository = (UnorderedPolicyRepository) repo;
repository.deploy(policies);
}
示例7: undeployPolicy
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的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());
}
示例8: undeployPoliciesById
import org.herasaf.xacml.core.api.PDP; //导入方法依赖的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);
}