/// <summary> /// /// </summary> public Policy( pol.PolicyElementReadWrite policy ) { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); LoadingData = true; _policy = policy; cmbRuleCombiningAlgorithm.Items.Add( Consts.Schema1.RuleCombiningAlgorithms.DenyOverrides ); cmbRuleCombiningAlgorithm.Items.Add( Consts.Schema1.RuleCombiningAlgorithms.PermitOverrides ); cmbRuleCombiningAlgorithm.Items.Add( Consts.Schema1.RuleCombiningAlgorithms.FirstApplicable ); txtDescription.Text = _policy.Description; txtPolicyId.Text = _policy.Id; txtXPathVersion.Text = _policy.XPathVersion; cmbRuleCombiningAlgorithm.SelectedText = _policy.RuleCombiningAlgorithm; txtDescription.DataBindings.Add( "Text", _policy, "Description" ); txtPolicyId.DataBindings.Add( "Text", _policy, "Id" ); if(_policy.XPathVersion != null) txtXPathVersion.DataBindings.Add( "Text", _policy, "XPathVersion" ); cmbRuleCombiningAlgorithm.DataBindings.Add( "SelectedValue", policy, "RuleCombiningAlgorithm" ); LoadingData = false; }
/// <summary> /// /// </summary> /// <param name="apply"></param> public FunctionExecution( pol.ApplyBaseReadWrite apply ) { _apply = apply; //TODO: find the function data type. this.Text = "[" + "dataType" + "] " + apply.FunctionId; foreach( inf.IExpression arg in apply.Arguments ) { if( arg is pol.ApplyBaseReadWrite ) { this.Nodes.Add( new FunctionExecution( (pol.ApplyBaseReadWrite)arg ) ); } else if( arg is pol.FunctionElementReadWrite ) { this.Nodes.Add( new FunctionParameter( (pol.FunctionElementReadWrite)arg ) ); } else if( arg is pol.AttributeValueElementReadWrite ) { this.Nodes.Add( new AttributeValue( (pol.AttributeValueElementReadWrite)arg ) ); } else if( arg is pol.AttributeDesignatorBase ) { this.Nodes.Add( new AttributeDesignator( (pol.AttributeDesignatorBase)arg ) ); } else if( arg is pol.AttributeSelectorElement ) { this.Nodes.Add( new AttributeSelector( (pol.AttributeSelectorElement)arg ) ); } } }
/// <summary> /// /// </summary> /// <param name="obligations"></param> public Obligations( pol.ObligationReadWriteCollection obligations ) { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); LoadingData = true; _obligations = obligations; cmbEffect.Items.Add( pol.Effect.Deny ); cmbEffect.Items.Add( pol.Effect.Permit ); lstAttributeAssignments.DisplayMember = "AttributeId"; lstObligations.DisplayMember = "ObligationId"; foreach( pol.ObligationElementReadWrite obligation in obligations ) { lstObligations.Items.Add( obligation ); } if( obligations.Count != 0 ) { lstObligations.SelectedIndex = 0; } LoadingData = false; }
/// <summary> /// /// </summary> /// <param name="target"></param> public Target(pol.TargetElementReadWrite target) { _target = target; this.Text = "Target"; this.SelectedImageIndex = 4; this.ImageIndex = 4; FillTargetItems(_target.Subjects); FillTargetItems(_target.Resources); FillTargetItems(_target.Actions); }
/// <summary> /// /// </summary> /// <param name="policyDocument"></param> public PolicyDocument( pol.PolicyDocumentReadWrite policyDocument ) { _policyDocument = policyDocument; this.Text = "Policy Document"; if( _policyDocument.Policy != null ) { this.Nodes.Add( new Policy( _policyDocument.Policy ) ); } else if( _policyDocument.PolicySet != null ) { this.Nodes.Add( new PolicySet( _policyDocument.PolicySet ) ); } this.Expand(); }
/// <summary> /// /// </summary> public Condition( pol.ConditionElementReadWrite condition ) { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); _condition = condition; tvwCondition.Nodes.Add( new TreeNodes.FunctionExecution( condition ) ); tvwCondition.ExpandAll(); foreach( FieldInfo field in typeof(Consts.Schema1.InternalDataTypes).GetFields() ) { cmbDataType.Items.Add( field.GetValue( null ) ); } foreach( FieldInfo field in typeof(Consts.Schema1.InternalFunctions).GetFields() ) { cmbInternalFunctions.Items.Add( field.GetValue( null ) ); } }
/// <summary> /// /// </summary> /// <param name="rule"></param> public Rule( pol.RuleElementReadWrite rule ) { _rule = rule; if( _rule.Target == null ) { this.Nodes.Add( new AnyTarget() ); } else { this.Nodes.Add( new Target( _rule.Target ) ); } if( _rule.Condition != null ) { this.Nodes.Add( new Condition( _rule.Condition ) ); } this.Text = string.Format( "Rule ({0})", rule.Id ); }
/// <summary> /// /// </summary> public Rule( pol.RuleElementReadWrite rule ) { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); _rule = rule; LoadingData = true; cmbEffect.Items.Add( pol.Effect.Deny ); cmbEffect.Items.Add( pol.Effect.Permit ); txtDescription.Text = _rule.Description; txtPolicyId.Text = _rule.Id; cmbEffect.SelectedIndex = cmbEffect.FindStringExact( _rule.Effect.ToString() ); txtDescription.DataBindings.Add( "Text", _rule, "Description" ); txtPolicyId.DataBindings.Add( "Text", _rule, "Id" ); cmbEffect.DataBindings.Add( "SelectedValue", _rule, "Effect" ); LoadingData = false; }
/// <summary> /// /// </summary> /// <param name="policySet"></param> public PolicySet( pol.PolicySetElementReadWrite policySet ) { _policySet = policySet; this.Text = string.Format( "PolicySet ( {0} )", _policySet.Id ); if( _policySet.Target == null ) { this.Nodes.Add( new AnyTarget() ); } else { this.Nodes.Add( new Target( _policySet.Target ) ); } foreach( object policy in _policySet.Policies ) { if( policy is pol.PolicyElementReadWrite ) { this.Nodes.Add( new Policy( (pol.PolicyElementReadWrite)policy ) ); } else if( policy is pol.PolicySetElementReadWrite ) { this.Nodes.Add( new PolicySet( (pol.PolicySetElementReadWrite)policy ) ); } else if( policy is pol.PolicyIdReferenceElementReadWrite ) { this.Nodes.Add( new PolicyIdReference( (pol.PolicyIdReferenceElementReadWrite)policy ) ); } else if( policy is pol.PolicySetIdReferenceElementReadWrite ) { this.Nodes.Add( new PolicySetIdReference( (pol.PolicySetIdReferenceElementReadWrite)policy ) ); } } this.Nodes.Add( new Obligations( _policySet.Obligations ) ); this.Expand(); }
/// <summary> /// Creates a new runtime policy evaluation. /// </summary> /// <param name="policy">The policy document.</param> public Policy(pol.PolicyElement policy) { if (policy == null) throw new ArgumentNullException("policy"); _policy = policy; // Chechs the target for this policy. if (policy.Target != null) { _target = new Target((pol.TargetElement)policy.Target); // Load all the resources for this policy. foreach (ResourceElement resource in policy.Target.Resources.ItemsList) { foreach (ResourceMatchElement rmatch in resource.Match) { if (!_allResources.Contains(rmatch.AttributeValue.Contents)) { _allResources.Add(rmatch.AttributeValue.Contents); } } } } // Load all the Rules and creates a new runtime rule. foreach (pol.RuleElement rule in policy.Rules) { var ruleEv = new Rule(rule); _rules.Add(ruleEv); foreach (string rName in ruleEv.AllResources) { if (!_allResources.Contains(rName)) { _allResources.Add(rName); } } } }
/// <summary> /// /// </summary> /// <param name="policy"></param> public Policy( pol.PolicyElementReadWrite policy ) { _policy = policy; this.Text = string.Format( "Policy ( {0} )", policy.Id ); if( policy.Target == null ) { this.Nodes.Add( new AnyTarget() ); } else { this.Nodes.Add( new Target( policy.Target ) ); } foreach( pol.RuleElementReadWrite rule in policy.Rules ) { this.Nodes.Add( new Rule( rule ) ); } this.Nodes.Add( new Obligations( _policy.Obligations ) ); this.Expand(); }
/// <summary> /// /// </summary> /// <param name="attributeValue"></param> public AttributeValue( pol.AttributeValueElementReadWrite attributeValue ) { _attributeValue = attributeValue; this.Text = "[" + attributeValue.DataType + "] " + attributeValue.Contents; }
/// <summary> /// /// </summary> /// <param name="obligations"></param> public Obligations( pol.ObligationReadWriteCollection obligations ) { _obligations = obligations; this.Text = "Obligations"; }
/// <summary> /// /// </summary> /// <param name="function"></param> public FunctionParameter( pol.FunctionElementReadWrite function ) { _function = function; this.Text = "Function: " + _function.FunctionId; }
/// <summary> /// /// </summary> /// <param name="attributeDesignator"></param> public AttributeDesignator( pol.AttributeDesignatorBase attributeDesignator ) { _attributeDesignator = attributeDesignator; this.Text = "[" + attributeDesignator.DataType + "]:" + attributeDesignator.AttributeId; }
/// <summary> /// /// </summary> /// <param name="policyIdReference"></param> public PolicyIdReference( pol.PolicyIdReferenceElementReadWrite policyIdReference ) { _policyIdReference = policyIdReference; this.Text = string.Format( "PolicyIdReference: {0}", policyIdReference.PolicyId ); }
/// <summary> /// /// </summary> /// <param name="attributeSelector"></param> public AttributeSelector( pol.AttributeSelectorElement attributeSelector ) { _attributeSelector = attributeSelector; this.Text = "XPath: " + attributeSelector.RequestContextPath; }
/// <summary> /// /// </summary> /// <param name="condition"></param> public Condition( pol.ConditionElementReadWrite condition ) { _condition = condition; this.Text = "Condition"; }