public static void RequiresBrightstarSystemPermission(this NancyModule module,
                                                       AbstractSystemPermissionsProvider permissionsProvider,
                                                       SystemPermissions get  = SystemPermissions.None,
                                                       SystemPermissions post = SystemPermissions.None)
 {
     module.Before.AddItemToEndOfPipeline(ctx => RequiresAuthorization(ctx, permissionsProvider, get, post));
 }
 public static void RequiresBrightstarSystemPermission(this NancyModule module,
                                                       AbstractSystemPermissionsProvider permissionsProvider,
                                                       SystemPermissions get = SystemPermissions.None,
                                                       SystemPermissions post = SystemPermissions.None)
 {
     module.Before.AddItemToEndOfPipeline(ctx=>RequiresAuthorization(ctx, permissionsProvider, get, post));
 }
        private static Response RequiresAuthorization(NancyContext context,
                                                      AbstractSystemPermissionsProvider permissionsProvider,
                                                      SystemPermissions get, SystemPermissions post)
        {
            var permissionsRequired = SystemPermissions.None;

            switch (context.Request.Method.ToUpperInvariant())
            {
            case "GET":
            case "HEAD":
                permissionsRequired = get;
                break;

            case "POST":
                permissionsRequired = post;
                break;
            }
            if (permissionsRequired == SystemPermissions.None)
            {
                return(HttpStatusCode.Unauthorized);
            }

            if (!permissionsProvider.HasPermissions(context.CurrentUser, permissionsRequired))
            {
                return(HttpStatusCode.Unauthorized);
            }
            return(null);
        }
 public LibraryObject Update(SystemPermissions systemPermissions)
 {
     try
     {
         return(doSystemPermissions.Update(systemPermissions));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public static bool TryGetSystemPermissionsAttributeValue(XmlElement providerElement, string attrName,
                                                          out SystemPermissions systemPermissions)
 {
     try
     {
         systemPermissions = GetSystemPermissionsAttributeValue(providerElement, attrName);
         return(true);
     }
     catch (ConfigurationErrorsException)
     {
         systemPermissions = SystemPermissions.None;
         return(false);
     }
 }
 public HttpResponseMessage Put([FromBody] SystemPermissions systemPermissions)
 {
     try
     {
         DbLibrary            dbLibrary           = new DbLibrary();
         BO_SystemPermissions boSystemPermissions = new BO_SystemPermissions(dbLibrary);
         DataMessage          dataMessage         = new DataMessage(boSystemPermissions.Update(systemPermissions));
         return(Request.CreateResponse(HttpStatusCode.OK, dataMessage));
     }
     catch (Exception e)
     {
         ErrorMessage mensaje = new ErrorMessage("2.1", "Excepción en la actualización del Permissions: " + e.GetBaseException().Message, e.ToString());
         return(Request.CreateResponse(HttpStatusCode.BadRequest, mensaje));
     }
 }
Пример #7
0
        /// <summary>
        /// Actualiza el registro del permissions indicado
        /// </summary>
        /// <param name="SystemPermissions"></param>
        /// <returns></returns>
        public Operations Update(SystemPermissions systemPermissions)
        {
            try
            {
                Operations operations = new Operations();

                try
                {
                    SystemPermissions permissions;
                    permissions      = dbLibrary.tc_SystemPermissions.Where(a => a.PermissionsId == systemPermissions.PermissionsId).FirstOrDefault();
                    permissions.Name = systemPermissions.Name;
                    dbLibrary.SaveChanges();
                    operations.Result  = "OK";
                    operations.Message = "Permiso actualizado";
                }
                catch (DbEntityValidationException e)
                {
                    regOperacion = new StringBuilder("No se logro actualizar el permiso");
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        regOperacion.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                                  eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            regOperacion.AppendFormat("- Property: \"{0}\", Error: \"{1}\"",
                                                      ve.PropertyName, ve.ErrorMessage);
                        }
                    }

                    operations.Result  = "Error";
                    operations.Message = regOperacion.ToString();
                }

                return(operations);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #8
0
        /// <summary>
        /// Agrega un nuevo registro a la entidad de permissions
        /// </summary>
        /// <param name="systemPermissions"></param>
        /// <returns></returns>
        public Operations Create(SystemPermissions systemPermissions)
        {
            try
            {
                Operations operations = new Operations();

                try
                {
                    dbLibrary.tc_SystemPermissions.Add(systemPermissions);
                    dbLibrary.SaveChanges();
                    operations.Result  = "OK";
                    operations.Message = "Registro creado";
                }
                catch (DbEntityValidationException e)
                {
                    regOperacion = new StringBuilder("No se logro crear el registro:-");
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        regOperacion.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                                  eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            regOperacion.AppendFormat("- Property: \"{0}\", Error: \"{1}\"",
                                                      ve.PropertyName, ve.ErrorMessage);
                        }
                    }

                    operations.Result  = "Error";
                    operations.Message = regOperacion.ToString();
                }

                return(operations);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private static Response RequiresAuthorization(NancyContext context,
                                                      AbstractSystemPermissionsProvider permissionsProvider,
                                                      SystemPermissions get, SystemPermissions post)
        {
            var permissionsRequired = SystemPermissions.None;
            switch (context.Request.Method.ToUpperInvariant())
            {
                case "GET":
                case "HEAD":
                    permissionsRequired = get;
                    break;
                case "POST":
                    permissionsRequired = post;
                    break;
            }
            if (permissionsRequired == SystemPermissions.None) return HttpStatusCode.Unauthorized;

            if (!permissionsProvider.HasPermissions(context.CurrentUser, permissionsRequired))
            {
                return HttpStatusCode.Unauthorized;
            }
            return null;
        }
 public virtual bool HasPermissions(IUserIdentity user, SystemPermissions requestedPermissions)
 {
     return((GetPermissionsForUser(user) & requestedPermissions) == requestedPermissions);
 }
 public static bool TryGetSystemPermissionsAttributeValue(XmlElement providerElement, string attrName,
                                                           out SystemPermissions systemPermissions)
 {
     try
     {
         systemPermissions = GetSystemPermissionsAttributeValue(providerElement, attrName);
         return true;
     }
     catch (ConfigurationErrorsException)
     {
         systemPermissions = SystemPermissions.None;
         return false;
     }
 }
Пример #12
0
 public UserRole ToModel()
 {
     return(new UserRole(ToModelName(), Description, SystemPermissions.EnsureNotNull(), SpacePermissions.EnsureNotNull()));
 }
 public virtual bool HasPermissions(IUserIdentity user, SystemPermissions requestedPermissions)
 {
     return (GetPermissionsForUser(user) & requestedPermissions) == requestedPermissions;
 }
Пример #14
0
 /// <summary>
 /// Creates a new provider that grants a fixed set of system permissions to
 /// authenticated users and a different fixed set of system permissions to
 /// anonymous users
 /// </summary>
 /// <param name="authenticatedPermissions">The system permissions to be granted to authenticated users</param>
 /// <param name="anonymousPermissions">The system permissions to be granted to anonymous users</param>
 public FallbackSystemPermissionsProvider(SystemPermissions authenticatedPermissions,
                                          SystemPermissions anonymousPermissions)
 {
     _authenticatedPermissions = authenticatedPermissions;
     _anonymousPermissions     = anonymousPermissions;
 }
 public override bool HasPermissions(IUserIdentity user, SystemPermissions requestedPermissions)
 {
     return(_first.HasPermissions(user, requestedPermissions) ||
            _second.HasPermissions(user, requestedPermissions));
 }
 /// <summary>
 /// Creates a new provider that grants a fixed set of system permissions to
 /// authenticated users and a different fixed set of system permissions to
 /// anonymous users
 /// </summary>
 /// <param name="authenticatedPermissions">The system permissions to be granted to authenticated users</param>
 /// <param name="anonymousPermissions">The system permissions to be granted to anonymous users</param>
 public FallbackSystemPermissionsProvider(SystemPermissions authenticatedPermissions,
                                         SystemPermissions anonymousPermissions)
 {
     _authenticatedPermissions = authenticatedPermissions;
     _anonymousPermissions = anonymousPermissions;
 }
 /// <summary>
 /// Creates a new provider that grants a fixed set of system permissions to 
 /// authenticated users and no system permissions to anonymous users.
 /// </summary>
 /// <param name="authenticatedPermissions">The fixed set of system permissions
 /// to be granted to authenticated users</param>
 public FallbackSystemPermissionsProvider(SystemPermissions authenticatedPermissions):this(authenticatedPermissions, SystemPermissions.None)
 {
 }
Пример #18
0
 /// <summary>
 /// Creates a new provider that grants a fixed set of system permissions to
 /// authenticated users and no system permissions to anonymous users.
 /// </summary>
 /// <param name="authenticatedPermissions">The fixed set of system permissions
 /// to be granted to authenticated users</param>
 public FallbackSystemPermissionsProvider(SystemPermissions authenticatedPermissions) : this(authenticatedPermissions, SystemPermissions.None)
 {
 }
 public override bool HasPermissions(IUserIdentity user, SystemPermissions requestedPermissions)
 {
     return _first.HasPermissions(user, requestedPermissions) ||
            _second.HasPermissions(user, requestedPermissions);
 }