Example #1
0
 /// <summary>
 /// Gets the permission.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="config">The configuration.</param>
 /// <param name="isAccountReadOnly">if set to <c>true</c> [is account read only].</param>
 /// <returns><c>true</c> if permission is granted, <c>false</c> otherwise.</returns>
 /// <exception cref="Cebos.Veyron.SharedTypes.VeyronException">Unknown Authorization Action</exception>
 private static bool GetPermission(AuthorizationContext context, ProcessSecurityConfiguration config,
     bool isAccountReadOnly)
 {
     switch (context.Rule.Action)
     {
         case AuthorizationActions.CreateObject:
             return config.CanCreate & !isAccountReadOnly;
         case AuthorizationActions.DeleteObject:
             return config.CanDelete & !isAccountReadOnly;
         case AuthorizationActions.EditObject:
             return !isAccountReadOnly;
         default:
             throw new VeyronException("Unknown Authorization Action");
     }
 }
Example #2
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;
 }
Example #3
0
 /// <summary>
 /// Sets the permission.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="config">The configuration.</param>
 /// <param name="isAccountReadOnly">if set to <c>true</c> then account is read only.</param>
 /// <exception cref="VeyronException"></exception>
 private static void SetPermission(AuthorizationContext context, ProcessSecurityConfiguration config, bool isAccountReadOnly)
 {
     context.HasPermission = GetPermission(context, config, isAccountReadOnly);
 }