/// <summary> /// Constructor user only for XACML 1.0/1.1/2.0 /// </summary> /// <param name="resource">The resource.</param> /// <param name="action">The action.</param> /// <param name="subjects">The subjects.</param> public XacmlContextRequest(XacmlContextResource resource, XacmlContextAction action, IEnumerable <XacmlContextSubject> subjects) { if (resource == null) { throw new ArgumentNullException(nameof(resource)); } if (action == null) { throw new ArgumentNullException(nameof(action)); } if (subjects == null) { throw new ArgumentNullException(nameof(subjects)); } this.resources.Add(resource); this.action = action; foreach (var item in subjects) { this.subjects.Add(item); } }
/// <summary> /// Constructor user only for XACML 2.0 /// </summary> /// <param name="resources">The resource.</param> /// <param name="action">The action.</param> /// <param name="subjects">The subject.</param> /// <param name="environment">The environment.</param> public XacmlContextRequest(XacmlContextResource resource, XacmlContextAction action, XacmlContextSubject subject, XacmlContextEnvironment environment) : this(new List <XacmlContextResource> { resource }, action, new List <XacmlContextSubject> { subject }, environment) { }
/// <summary> /// Constructor user only for XACML 1.0/1.1/2.0 /// </summary> /// <param name="resource">The resource.</param> /// <param name="action">The action.</param> /// <param name="subjects">The subjects.</param> public XacmlContextRequest(XacmlContextResource resource, XacmlContextAction action, XacmlContextSubject subject) : this(resource, action, new List <XacmlContextSubject> { subject }) { }