Ejemplo n.º 1
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Method or property.</param>
 public AuthorizationRule(AuthorizationActions action, Csla.Core.IMemberInfo element)
   : this(action)
 {
   _element = element;
 }
Ejemplo n.º 2
0
 // TODO: Add additional parameters to your rule to the constructor
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthorizationEditar"/> class.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Method or property.</param>
 public AuthorizationEditar(AuthorizationActions action, IMemberInfo element)
     : base(action, element)
 {
     // TODO: Add additional constructor code here
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsNewOrIsInRole(AuthorizationActions action, IMemberInfo element, params string[] roles)
     : base(action, element)
 {
     _roles = new List <string>(roles);
 }
Ejemplo n.º 4
0
    /// <summary>
    /// Gets a value indicating whether the permission
    /// result can be cached.
    /// </summary>
    /// <param name="action">Authorization action.</param>
    /// <param name="element">Property or method to check.</param>
    public bool CachePermissionResult(AuthorizationActions action, Csla.Core.IMemberInfo element)
    {
      // cannot cache result when suppressRuleChecking as HasPermission is then short circuited to return true.
      if (_suppressRuleChecking)
        return false;

      bool result = true;
      var rule =
        TypeAuthRules.Rules.FirstOrDefault(c => c.Element != null && c.Element.Name == element.Name && c.Action == action);
      if (rule != null)
        result = rule.CacheResult;
      return result;
    }
Ejemplo n.º 5
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsInRole(AuthorizationActions action, Csla.Core.IMemberInfo element, params string[] roles)
   : base(action, element)
 {
   _roles = new List<string>(roles);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Creates an instance of the type.
 /// </summary>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 public HasPermissionAttribute(AuthorizationActions action, Type objectType)
 {
     _action = action;
       _objectType = objectType;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Checks per-instance authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="obj">Business object instance.</param>
 public static bool HasPermission(AuthorizationActions action, object obj)
 {
   return HasPermission(action, obj, obj.GetType(), ApplicationContext.RuleSet);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Creates instance of type
 /// </summary>
 /// <param name="action">Per-type authorization action</param>
 /// <param name="objectType">Business domain object type</param>
 public CslaPermissionRequirement(AuthorizationActions action, Type objectType)
 {
     Action     = action;
     ObjectType = objectType;
 }
Ejemplo n.º 9
0
 public CanWrite(AuthorizationActions action, string programId)
     : base(action)
 {
     _programId = programId;
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Creates an instance of the type.
 /// </summary>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 public HasPermissionAttribute(AuthorizationActions action, Type objectType)
 {
     _action            = action;
     _objectType        = objectType;
     ApplicationContext = ApplicationContextManager.GetApplicationContext();
 }
Ejemplo n.º 11
0
 public MyVeryOwnObjectAuthzRule(AuthorizationActions action, PropertyInfo <string> prop1, PropertyInfo <string> prop2)
     : base(action)
 {
     _prop1 = prop1;
     _prop2 = prop2;
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OnlyForUS"/> class.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Method or property.</param>
 public OnlyForUS(AuthorizationActions action, IMemberInfo element, IMemberInfo countryField)
     : base(action, element)
 {
     CountryField = countryField;
     CacheResult  = false;
 }
Ejemplo n.º 13
0
 public MyVeryOwnObjectAuthzRule(AuthorizationActions action, PropertyInfo<string> prop1, PropertyInfo<string> prop2)
   : base(action)
 {
   _prop1 = prop1;
   _prop2 = prop2;
 }
Ejemplo n.º 14
0
 // TODO: Add additional parameters to your rule to the constructor
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthorizationEditar"/> class.
 /// </summary>
 /// <param name="action">The action.</param>
 public AuthorizationEditar(AuthorizationActions action)
     : base(action)
 {
     // TODO: Add additional constructor code here
 }
Ejemplo n.º 15
0
 public MyObjectAuthzRule(AuthorizationActions action, PropertyInfo<string> prop1, PropertyInfo<string> prop2, List<string> roles)
   : base(action, roles)
 {
   _prop1 = prop1;
   _prop2 = prop2;
 }
 public ExhaustedMedicineRule(AuthorizationActions action, IMemberInfo element, IMemberInfo valueTo)
     : base(action, element)
 {
     ValueTo     = valueTo;
     CacheResult = false;
 }
Ejemplo n.º 17
0
    // TODO: Add additional parameters to your rule to the constructor
    /// <summary>
    /// Initializes a new instance of the <see cref="AuthorizationRuleClass"/> class.
    /// </summary>
    /// <param name="action">Action this rule will enforce.</param>
    /// <param name="element">Method or property.</param>
    public AuthorizationRuleClass(AuthorizationActions action, IMemberInfo element)
      : base(action, element)
    {
      // TODO: Add additional constructor code here 

    }
Ejemplo n.º 18
0
 /// <summary>
 /// Creates an instance of the type.
 /// </summary>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 public HasPermissionAttribute(AuthorizationActions action, Type objectType)
 {
     _action     = action;
     _objectType = objectType;
 }
Ejemplo n.º 19
0
 /// <summary>
 /// Checks per-type authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="objectType">Type of business object.</param>
 public static bool HasPermission(AuthorizationActions action, Type objectType)
 {
   // no object specified so must use RuleSet from ApplicationContext
   return HasPermission(action, null, objectType, ApplicationContext.RuleSet);
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Creates an instance of the type.
 /// </summary>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 /// <param name="message">Error message for resutl.</param>
 public HasPermissionAttribute(AuthorizationActions action, Type objectType, string message)
     : this(action, objectType)
 {
     _errorMsg = message;
 }
Ejemplo n.º 21
0
    private static bool HasPermission(AuthorizationActions action, object obj, Type objType, string ruleSet)
    {

      if (action == AuthorizationActions.ReadProperty ||
          action == AuthorizationActions.WriteProperty ||
          action == AuthorizationActions.ExecuteMethod)
        throw new ArgumentOutOfRangeException("action");

      bool result = true;
      var rule =
        AuthorizationRuleManager.GetRulesForType(objType, ruleSet).Rules.FirstOrDefault(c => c.Element == null && c.Action == action);
      if (rule != null)
      {
        var context = new AuthorizationContext { Rule = rule, Target = obj, TargetType = objType };
        rule.Execute(context);
        result = context.HasPermission;
      }
      return result;
    }
Ejemplo n.º 22
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="roles">List of disallowed roles.</param>
 public IsNotInRole(AuthorizationActions action, Csla.Core.IMemberInfo element, List <string> roles)
     : base(action, element)
 {
     _roles = roles;
 }
Ejemplo n.º 23
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsInRole(AuthorizationActions action, params string[] roles)
   : base(action)
 {
   _roles = new List<string>(roles);
 }
Ejemplo n.º 24
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="roles">List of disallowed roles.</param>
 public IsNotInRole(AuthorizationActions action, Csla.Core.IMemberInfo element, params string[] roles)
     : base(action, element)
 {
     _roles = new List <string>(roles);
 }
Ejemplo n.º 25
0
		protected AuthorizationRuleCore(AuthorizationActions action, IMemberInfo element)
			: base(action, element) { }
Ejemplo n.º 26
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsInRole(AuthorizationActions action, List <string> roles)
     : base(action)
 {
     _roles = roles;
 }
Ejemplo n.º 27
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsNewOrIsInRole(AuthorizationActions action, IMemberInfo element, List <string> roles)
     : base(action, element)
 {
     _roles = roles;
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsInRole(AuthorizationActions action, params string[] roles)
     : base(action)
 {
     _roles = new List <string>(roles);
 }
Ejemplo n.º 29
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 public AuthorizationRule(AuthorizationActions action)
 {
   _action = action;
 }
Ejemplo n.º 30
0
 public NoAuth(AuthorizationActions action)
     : base(action)
 {
 }
Ejemplo n.º 31
0
    /// <summary>
    /// Initializes a new instance of the <see cref="OnlyForUS"/> class.
    /// </summary>
    /// <param name="action">
    /// The action.
    /// </param>
    /// <param name="element">
    /// The element.
    /// </param>
    /// <param name="countryProperty">
    /// The country property.
    /// </param>
    public OnlyForUS(AuthorizationActions action, IMemberInfo element, IPropertyInfo countryProperty)
      : base(action, element)
    {
      CountryProperty = countryProperty;
	  CacheResult = false;
    }
Ejemplo n.º 32
0
 public AuthorizationRuleNoCacheResult(AuthorizationActions action, Csla.Core.IMemberInfo element) : base(action, element)
 {
   CacheResult = false;
 }
Ejemplo n.º 33
0
    /// <summary>
    /// Initializes a new instance of the <see cref="OnlyForUS"/> class.
    /// </summary>
    /// <param name="action">Action this rule will enforce.</param>
    /// <param name="element">Method or property.</param>
    public OnlyForUS(AuthorizationActions action, IMemberInfo element, IMemberInfo countryField)
      : base(action, element)
    {
      CountryField = countryField;
	  CacheResult = false;
    }
Ejemplo n.º 34
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 public AuthorizationRule(AuthorizationActions action)
 {
     _action = action;
 }
Ejemplo n.º 35
0
    // TODO: Add additional parameters to your rule to the constructor
    /// <summary>
    /// Initializes a new instance of the <see cref="AuthorizationRuleClass"/> class.
    /// </summary>
    /// <param name="action">The action.</param>
    public AuthorizationRuleClass(AuthorizationActions action)
      : base(action)
    {
      // TODO: Add additional constructor code here 

    }
Ejemplo n.º 36
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Method or property.</param>
 public AuthorizationRule(AuthorizationActions action, Csla.Core.IMemberInfo element)
     : this(action)
 {
     _element = element;
 }
Ejemplo n.º 37
0
 /// <summary>
 /// Creates an instance of the type.
 /// </summary>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 /// <param name="message">Error message for resutl.</param>
 public HasPermissionAttribute(AuthorizationActions action, Type objectType, string message)
     : this(action, objectType)
 {
     _errorMsg = message;
 }
Ejemplo n.º 38
0
 /// <summary>
 /// Checks per-type authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="objectType">Type of business object.</param>
 public static bool HasPermission(AuthorizationActions action, Type objectType)
 {
     objectType = ApplicationContext.DataPortalActivator.ResolveType(objectType);
     // no object specified so must use RuleSet from ApplicationContext
     return(HasPermission(action, null, objectType, ApplicationContext.RuleSet));
 }
Ejemplo n.º 39
0
 /// <summary>
 /// Checks per-type authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="objectType">Type of business object.</param>
 /// <param name="ruleSet">The rule set.</param>
 /// <returns>
 /// 	<c>true</c> if the specified action has permission; otherwise, <c>false</c>.
 /// </returns>
 public static bool HasPermission(AuthorizationActions action, Type objectType, string ruleSet)
 {
   return HasPermission(action, null, objectType, ruleSet);
 }
Ejemplo n.º 40
0
 /// <summary>
 /// Checks per-type authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="objectType">Type of business object.</param>
 public static bool HasPermission(AuthorizationActions action, Type objectType)
 {
     // no object specified so must use RuleSet from ApplicationContext
     return(HasPermission(action, null, objectType, ApplicationContext.RuleSet));
 }
Ejemplo n.º 41
0
 /// <summary>
 /// Checks per-instance authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="obj">Business object instance.</param>
 /// <param name="ruleSet">The rule set.</param>
 /// <returns>
 /// 	<c>true</c> if the specified action has permission; otherwise, <c>false</c>.
 /// </returns>
 public static bool HasPermission(AuthorizationActions action, object obj, string ruleSet)
 {
   return HasPermission(action, obj, obj.GetType(), ruleSet);
 }
Ejemplo n.º 42
0
 /// <summary>
 /// Checks per-type authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="objectType">Type of business object.</param>
 /// <param name="ruleSet">The rule set.</param>
 /// <returns>
 ///     <c>true</c> if the specified action has permission; otherwise, <c>false</c>.
 /// </returns>
 public static bool HasPermission(AuthorizationActions action, Type objectType, string ruleSet)
 {
     return(HasPermission(action, null, objectType, ruleSet));
 }
Ejemplo n.º 43
0
    /// <summary>
    /// Checks per-property authorization rules.
    /// </summary>
    /// <param name="action">Authorization action.</param>
    /// <param name="element">Property or method to check.</param>
    public bool HasPermission(AuthorizationActions action, Csla.Core.IMemberInfo element)
    {
      if (_suppressRuleChecking)
        return true;

      if (action == AuthorizationActions.CreateObject ||
          action == AuthorizationActions.DeleteObject ||
          action == AuthorizationActions.GetObject ||
          action == AuthorizationActions.EditObject)
        throw new ArgumentOutOfRangeException("action");

      bool result = true;
      var rule =
        TypeAuthRules.Rules.FirstOrDefault(c => c.Element != null && c.Element.Name == element.Name && c.Action == action);
      if (rule != null)
      {
        var context = new AuthorizationContext { Rule = rule, Target = this.Target, TargetType = this.Target.GetType() };
        rule.Execute(context);
        result = context.HasPermission;
      }
      return result;
    }
Ejemplo n.º 44
0
 /// <summary>
 /// Checks per-instance authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="obj">Business object instance.</param>
 public static bool HasPermission(AuthorizationActions action, object obj)
 {
     return(HasPermission(action, obj, obj.GetType(), ApplicationContext.RuleSet));
 }
Ejemplo n.º 45
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsInRole(AuthorizationActions action, List<string> roles)
   : base(action)
 {
   _roles = roles;
 }
Ejemplo n.º 46
0
 /// <summary>
 /// Checks per-instance authorization rules.
 /// </summary>
 /// <param name="action">Authorization action.</param>
 /// <param name="obj">Business object instance.</param>
 /// <param name="ruleSet">The rule set.</param>
 /// <returns>
 ///     <c>true</c> if the specified action has permission; otherwise, <c>false</c>.
 /// </returns>
 public static bool HasPermission(AuthorizationActions action, object obj, string ruleSet)
 {
     return(HasPermission(action, obj, obj.GetType(), ruleSet));
 }
Ejemplo n.º 47
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="roles">List of allowed roles.</param>
 public IsInRole(AuthorizationActions action, Csla.Core.IMemberInfo element, List<string> roles)
   : base(action, element)
 {
   _roles = roles;
 }
Ejemplo n.º 48
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="action">Action this rule will enforce.</param>
 /// <param name="element">Member to be authorized.</param>
 /// <param name="creatorProperty">Name of the property for the creator ID.</param>
 /// <param name="getCurrentUserDelegate">The Func delegate to get the current user ID.</param>
 public IsOwner(AuthorizationActions action, IMemberInfo element, string creatorProperty, Func <int> getCurrentUserDelegate)
     : base(action, element)
 {
     _creatorProperty        = creatorProperty;
     _getCurrentUserDelegate = getCurrentUserDelegate;
 }
Ejemplo n.º 49
0
 /// <summary>
 /// Initializes a new instance of the <see cref="HasAccessToProcess"/> class.
 /// </summary>
 /// <param name="action">The action.</param>
 /// <param name="securityConfigurations">The security configurations.</param>
 public HasAccessToProcess(AuthorizationActions action, ProcessSecurityConfiguration[] securityConfigurations)
     : base(action)
 {
     SecurityConfigurations = securityConfigurations;
 }
Ejemplo n.º 50
0
 public AuthRule(AuthorizationActions action) : base(action)
 {
 }
Ejemplo n.º 51
0
		protected AuthorizationRuleCore(AuthorizationActions action)
			: base(action) { }
Ejemplo n.º 52
0
 public CanWrite(AuthorizationActions action, string programId)
     : base(action)
 {
     _programId = programId;
 }