Файл демаршаллирования XACML Policie с opensaml - PullRequest
0 голосов
/ 10 октября 2011

Может ли кто-нибудь дать мне ссылку на хороший учебник, который может дать мне представление о том, как я могу построить XACMLObject, используя API openSAML2 из файла policie? Спасибо

Ответы [ 2 ]

1 голос
/ 12 ноября 2013

Я не использовал библиотеку OpenSAML для этой цели. Но я использовал для какой-то другой цели, которая включала запросы и ответы XACML. Следующее может помочь вам получить представление. Это создает XACMLRequest из строки.

private String extractXACMLRequest(String decisionQuery) throws Exception {
    RequestType xacmlRequest = null;
    doBootstrap();
    String queryString = null;
    XACMLAuthzDecisionQueryType xacmlAuthzDecisionQuery;
    try {
        xacmlAuthzDecisionQuery = (XACMLAuthzDecisionQueryType) unmarshall(decisionQuery);
        //Access the XACML request only if Issuer and the Signature are valid.
        if (validateIssuer(xacmlAuthzDecisionQuery.getIssuer())) {
                if (validateSignature(xacmlAuthzDecisionQuery.getSignature())) {
                    xacmlRequest = xacmlAuthzDecisionQuery.getRequest();
                } else {
                    log.debug("The submitted signature is not valid!");
                }
        } else {
            log.debug("The submitted issuer is not valid!");
        }

        if (xacmlRequest != null) {
            queryString = marshall(xacmlRequest);
            queryString = queryString.replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "").replace("\n", "");
        }
        return queryString;
    } catch (Exception e) {
        log.error("Error unmarshalling the XACMLAuthzDecisionQuery.", e);
        throw new Exception("Error unmarshalling the XACMLAuthzDecisionQuery.", e);
    }

}
0 голосов
/ 19 сентября 2013

Вы хотите использовать sunXACML или JAXB, чтобы маршалировать / отменять маршализацию политик XACML, а не openSAML2.

...