X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml2%2Fprofile%2FAssertionValidator.h;h=3ee9004c4d3d3a1a45bf0fddecdf209dcf420530;hb=e9554c255ad3c91c7c4976e7a1a54905903e66a2;hp=f427bcee3b4f1683624379942765cbd11b3ab74a;hpb=7d897f427b1ca756046d85dea5dc533bf2df784d;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml2/profile/AssertionValidator.h b/saml/saml2/profile/AssertionValidator.h index f427bce..3ee9004 100644 --- a/saml/saml2/profile/AssertionValidator.h +++ b/saml/saml2/profile/AssertionValidator.h @@ -1,6 +1,6 @@ /* - * Copyright 2001-2007 Internet2 - * + * Copyright 2001-2010 Internet2 + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -16,23 +16,27 @@ /** * @file saml/saml2/profile/AssertionValidator.h - * - * SAML 2.0 basic assertion validator + * + * SAML 2.0 basic assertion validator. */ #ifndef __saml2_assval_h__ #define __saml2_assval_h__ #include + +#include +#include #include namespace opensaml { namespace saml2 { - + class SAML_API Assertion; class SAML_API Condition; - + /** + * @deprecated * SAML 2.0 basic assertion validator provides time and audience condition checking. */ class SAML_API AssertionValidator : public virtual xmltooling::Validator @@ -40,19 +44,20 @@ namespace opensaml { public: /** * Constructor - * - * @param audiences set of audience values representing recipient + * + * @param recipient name of assertion recipient (implicit audience) + * @param audiences additional audience values * @param ts timestamp to evaluate assertion conditions, or 0 to bypass check */ - AssertionValidator(const std::vector& audiences, time_t ts=0) : m_audiences(audiences), m_ts(ts) {} + AssertionValidator(const XMLCh* recipient, const std::vector* audiences=nullptr, time_t ts=0); + + virtual ~AssertionValidator(); - virtual ~AssertionValidator() {} - void validate(const xmltooling::XMLObject* xmlObject) const; /** * Type-safe validation method. - * + * * @param assertion assertion to validate */ virtual void validateAssertion(const Assertion& assertion) const; @@ -63,19 +68,22 @@ namespace opensaml { *

The base class version only understands AudienceRestriction conditions. * All other condition types will be rejected and require subclassing to * prevent validation failure. - * + * * @param condition condition to validate */ virtual void validateCondition(const Condition* condition) const; protected: - /** Set of audience values representing recipient. */ - const std::vector& m_audiences; + /** Name of recipient (implicit audience). */ + const XMLCh* m_recipient; + + /** Additional audience values. */ + const std::vector* m_audiences; /** Timestamp to evaluate assertion conditions. */ time_t m_ts; }; - + }; };