private IOrderPolicyExpression applyWrapper <T>(VisitBehaviorsAction configAction) { _actions.Fill(configAction); _lastNodeMatch = ReorderBehaviorsPolicy.FuncForWrapper(typeof(T)); return(this); }
public void SetUp() { graph = new BehaviorGraph(); lastChain = graph.AddChain(); nodes = null; policy = new ReorderBehaviorsPolicy(); }
private IOrderPolicyExpression applyWrapper <T>(VisitBehaviorsAction configAction) { _configuration.AddConfiguration(configAction, ConfigurationType.Policy); _lastNodeMatch = ReorderBehaviorsPolicy.FuncForWrapper(typeof(T)); return(this); }
private IOrderPolicyExpression applyWrapper <T>(Func <BehaviorChain, bool> filter) where T : IActionBehavior { _configuration.AddConfiguration(new WrapAction <T>(filter)); _lastNodeMatch = ReorderBehaviorsPolicy.FuncForWrapper(typeof(T)); return(this); }
// Not unit tested and therefore, not real code yet. //public void MustBeBeforeBehavior<T>() where T : IActionBehavior //{ // var policy = new ReorderBehaviorsPolicy(){ // WhatMustBeBefore = _lastNodeMatch // }; // policy.ThisWrapperMustBeAfter<T>(); // _systemPolicies.Add(policy); //} public void MustBeBeforeAuthorization() { var policy = new ReorderBehaviorsPolicy() { WhatMustBeBefore = _lastNodeMatch }; policy.ThisNodeMustBeAfter <AuthorizationNode>(); _systemPolicies.Add(policy); }
/// <summary> /// Apply a new behavior re-ordering rule in order to force behaviors to a certain order. /// For example, force Authentication behaviors to always be before Authorization behaviors /// </summary> /// <param name="configure"></param> /// <returns></returns> public PoliciesExpression Reorder(Action <ReorderBehaviorsPolicy> configure) { var policy = new ReorderBehaviorsPolicy(); configure(policy); _configuration.Add(policy, ConfigurationType.Reordering); return(this); }
/// <summary> /// Apply a new behavior re-ordering rule in order to force behaviors to a certain order. /// For example, force Authentication behaviors to always be before Authorization behaviors /// </summary> /// <param name="configure"></param> /// <returns></returns> public PolicyAdderExpression Reorder(Action <ReorderBehaviorsPolicy> configure) { var policy = new ReorderBehaviorsPolicy(); configure(policy); Configuration.Reordering.Fill(policy); return(this); }
public void MustBeBeforeAuthorization() { var policy = new ReorderBehaviorsPolicy() { WhatMustBeBefore = _lastNodeMatch }; policy.ThisNodeMustBeAfter <AuthorizationNode>(); _configuration.AddConfiguration(policy); }