Exemplo n.º 1
0
        public async Task <IResponseResult> SaveScreens(ScreensAssignedParameters parameters)
        {
            if (parameters.ScreenAssigned != null)
            {
                foreach (var ScreenId in parameters.ScreenAssigned)
                {
                    var isExists = await _menuRoleUnitOfWork.Repository.FirstOrDefaultAsync(q => q.MenuId == ScreenId && q.RoleId == parameters.RoleId) != null;

                    if (!isExists)
                    {
                        var obj = new MenuRoles()
                        {
                            Id = Guid.NewGuid().ToString(), RoleId = parameters.RoleId, MenuId = ScreenId
                        };
                        _menuRoleUnitOfWork.Repository.Add(obj);
                    }
                }
            }
            if (parameters.ScreenAssignedRemove != null)
            {
                var dataRemoved = await _menuRoleUnitOfWork.Repository.FindAsync(q => parameters.ScreenAssignedRemove.Contains(q.MenuId) && q.RoleId == parameters.RoleId);

                _menuRoleUnitOfWork.Repository.RemoveRange(dataRemoved);
            }

            await _menuRoleUnitOfWork.SaveChanges();

            return(ResponseResult.GetRepositoryActionResult(true, status: HttpStatusCode.Created, message: HttpStatusCode.Created.ToString()));
        }
        public void GetSetup()
        {
            var query = from a in db.Users
                        select a;

            if (query.Count() == 0)
            {
                User user = new User();
                user.Name       = "Admin";
                user.SecondName = "Usuarios";
                user.Email      = "admin@debate";
                user.Password   = "******";
                user.Rol        = "Admin";
                db.Users.Add(user);
                db.SaveChanges();
            }

            var query2 = from a in db.Menu
                         select a;

            if (query2.Count() == 0)
            {
                MenuRoles userAdmin = new MenuRoles("Admin");
                db.Menu.Add(userAdmin);
                MenuRoles userStudent = new MenuRoles("Student");
                db.Menu.Add(userStudent);
                MenuRoles userPrelector = new MenuRoles("Prelector");
                db.Menu.Add(userPrelector);
                db.SaveChanges();
            }
        }
Exemplo n.º 3
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            var nombreAct        = filterContext.ActionDescriptor.ActionName;
            var nombreController = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            var completename     = "/" + nombreController + "/" + nombreAct;
            var mytype           = ((ReflectedActionDescriptor)filterContext.ActionDescriptor).MethodInfo.ReturnType.Name;



            MenuRoles roles        = new MenuRoles();
            Remesa    remex        = new Remesa();
            var       aceso        = remex.context.acesos.FirstOrDefault(x => x.link == completename.ToLower());
            var       userid       = filterContext.HttpContext.User.Identity.Name == string.Empty ? "0" : filterContext.HttpContext.User.Identity.Name;
            var       ActualuserID = int.Parse(userid);
            var       usuario      = remex.context.users.FirstOrDefault(x => x.id == ActualuserID);


            if ((usuario != null && roles.Testrole(usuario.roleid, completename.ToLower())) || aceso == null)
            {
                filterContext.Controller.ViewBag.AutherizationMessage = "Custom Authorization: Message from OnAuthorization method.";
            }
            else
            {
                if (!mytype.Contains("Json"))
                {
                    filterContext.Result = new RedirectToRouteResult(
                        new RouteValueDictionary {
                        { "action", "notAuth" },
                        { "controller", "Secure" }
                    });
                }
                else
                {
                    filterContext.Result = new JsonResult()
                    {
                        Data = new  { error = true, errorMsg = "Usuario no Autorizado" },
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    };
                }
            }
        }