コード例 #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;
 }
コード例 #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
 }
コード例 #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);
 }
コード例 #4
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
    /// <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;
    }
コード例 #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);
 }
コード例 #6
0
ファイル: HasPermissionAttribute.cs プロジェクト: Jaans/csla
 /// <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;
 }
コード例 #7
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
 /// <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);
 }
コード例 #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;
 }
コード例 #9
0
 public CanWrite(AuthorizationActions action, string programId)
     : base(action)
 {
     _programId = programId;
 }
コード例 #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();
 }
コード例 #11
0
 public MyVeryOwnObjectAuthzRule(AuthorizationActions action, PropertyInfo <string> prop1, PropertyInfo <string> prop2)
     : base(action)
 {
     _prop1 = prop1;
     _prop2 = prop2;
 }
コード例 #12
0
ファイル: OnlyForUS.cs プロジェクト: eugene-h-lin/csla-svn
 /// <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;
 }
コード例 #13
0
 public MyVeryOwnObjectAuthzRule(AuthorizationActions action, PropertyInfo<string> prop1, PropertyInfo<string> prop2)
   : base(action)
 {
   _prop1 = prop1;
   _prop2 = prop2;
 }
コード例 #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
 }
コード例 #15
0
ファイル: MyAuthzRule.cs プロジェクト: nschonni/csla-svn
 public MyObjectAuthzRule(AuthorizationActions action, PropertyInfo<string> prop1, PropertyInfo<string> prop2, List<string> roles)
   : base(action, roles)
 {
   _prop1 = prop1;
   _prop2 = prop2;
 }
コード例 #16
0
 public ExhaustedMedicineRule(AuthorizationActions action, IMemberInfo element, IMemberInfo valueTo)
     : base(action, element)
 {
     ValueTo     = valueTo;
     CacheResult = false;
 }
コード例 #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 

    }
コード例 #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;
 }
コード例 #19
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
 /// <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);
 }
コード例 #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;
 }
コード例 #21
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
    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;
    }
コード例 #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;
 }
コード例 #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);
 }
コード例 #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);
 }
コード例 #25
0
		protected AuthorizationRuleCore(AuthorizationActions action, IMemberInfo element)
			: base(action, element) { }
コード例 #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;
 }
コード例 #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;
 }
コード例 #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);
 }
コード例 #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;
 }
コード例 #30
0
ファイル: AuthTests.cs プロジェクト: brunck/csla
 public NoAuth(AuthorizationActions action)
     : base(action)
 {
 }
コード例 #31
0
ファイル: OnlyForUS.cs プロジェクト: BiYiTuan/csla
    /// <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;
    }
コード例 #32
0
 public AuthorizationRuleNoCacheResult(AuthorizationActions action, Csla.Core.IMemberInfo element) : base(action, element)
 {
   CacheResult = false;
 }
コード例 #33
0
ファイル: OnlyForUS.cs プロジェクト: Jaans/csla
    /// <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;
    }
コード例 #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;
 }
コード例 #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 

    }
コード例 #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;
 }
コード例 #37
0
ファイル: HasPermissionAttribute.cs プロジェクト: Jaans/csla
 /// <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;
 }
コード例 #38
0
ファイル: BusinessRules.cs プロジェクト: czRequiem/csla
 /// <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));
 }
コード例 #39
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
 /// <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);
 }
コード例 #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));
 }
コード例 #41
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
 /// <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);
 }
コード例 #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));
 }
コード例 #43
0
ファイル: BusinessRules.cs プロジェクト: Jaans/csla
    /// <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;
    }
コード例 #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));
 }
コード例 #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;
 }
コード例 #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));
 }
コード例 #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;
 }
コード例 #48
0
ファイル: IsOwner.cs プロジェクト: rajeshwarn/CslaGenFork
 /// <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;
 }
コード例 #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;
 }
コード例 #50
0
ファイル: Customer.cs プロジェクト: zuiwanting/csla
 public AuthRule(AuthorizationActions action) : base(action)
 {
 }
コード例 #51
0
		protected AuthorizationRuleCore(AuthorizationActions action)
			: base(action) { }
コード例 #52
0
ファイル: CanWrite.cs プロジェクト: nttung91/PLSoft
 public CanWrite(AuthorizationActions action, string programId)
     : base(action)
 {
     _programId = programId;
 }