projects
/
shibboleth
/
cpp-opensaml.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reducing header overuse, non-inlining selected methods (CPPOST-35).
[shibboleth/cpp-opensaml.git]
/
saml
/
saml2
/
profile
/
AssertionValidator.h
diff --git
a/saml/saml2/profile/AssertionValidator.h
b/saml/saml2/profile/AssertionValidator.h
index
0c03284
..
322df68
100644
(file)
--- a/
saml/saml2/profile/AssertionValidator.h
+++ b/
saml/saml2/profile/AssertionValidator.h
@@
-1,6
+1,6
@@
/*
/*
- * Copyright 2001-200
7
Internet2
- *
+ * Copyright 2001-200
9
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
* 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
/**
* @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 <saml/base.h>
*/
#ifndef __saml2_assval_h__
#define __saml2_assval_h__
#include <saml/base.h>
+
+#include <ctime>
+#include <vector>
#include <xmltooling/validation/Validator.h>
namespace opensaml {
namespace saml2 {
#include <xmltooling/validation/Validator.h>
namespace opensaml {
namespace saml2 {
-
+
class SAML_API Assertion;
class SAML_API Condition;
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
* SAML 2.0 basic assertion validator provides time and audience condition checking.
*/
class SAML_API AssertionValidator : public virtual xmltooling::Validator
@@
-40,18
+44,20
@@
namespace opensaml {
public:
/**
* Constructor
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
*/
* @param ts timestamp to evaluate assertion conditions, or 0 to bypass check
*/
- AssertionValidator(const std::vector<const XMLCh*>& audiences, time_t ts=0) : m_ts(ts), m_audiences(audiences) {}
- virtual ~AssertionValidator() {}
-
+ AssertionValidator(const XMLCh* recipient, const std::vector<const XMLCh*>* audiences=NULL, time_t ts=0);
+
+ virtual ~AssertionValidator();
+
void validate(const xmltooling::XMLObject* xmlObject) const;
/**
* Type-safe validation method.
void validate(const xmltooling::XMLObject* xmlObject) const;
/**
* Type-safe validation method.
- *
+ *
* @param assertion assertion to validate
*/
virtual void validateAssertion(const Assertion& assertion) const;
* @param assertion assertion to validate
*/
virtual void validateAssertion(const Assertion& assertion) const;
@@
-59,18
+65,25
@@
namespace opensaml {
/**
* Condition validation.
*
/**
* Condition validation.
*
- * <p>Base class version only understands AudienceRestrictionConditions.
- *
+ * <p>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
* @param condition condition to validate
- * @return true iff condition was understood
*/
*/
- virtual
bool
validateCondition(const Condition* condition) const;
+ virtual
void
validateCondition(const Condition* condition) const;
- private:
+ protected:
+ /** Name of recipient (implicit audience). */
+ const XMLCh* m_recipient;
+
+ /** Additional audience values. */
+ const std::vector<const XMLCh*>* m_audiences;
+
+ /** Timestamp to evaluate assertion conditions. */
time_t m_ts;
time_t m_ts;
- const std::vector<const XMLCh*>& m_audiences;
};
};
-
+
};
};
};
};