Example #1
0
        private void GetDatabaseUserRolesPermissions()
        {
            using (MassMailsDbContext _model = new MassMailsDbContext())
            {
                USER _user = _model.USERS.Where(u => u.User_Id == this.User_Id).FirstOrDefault();
                if (_user != null)
                {
                    foreach (ROLE _role in _user.ROLES)
                    {
                        UserRole _userRole = new UserRole {
                            Role_Id = _role.Role_Id, RoleName = _role.RoleName
                        };
                        foreach (PERMISSION _permission in _role.PERMISSIONS)
                        {
                            _userRole.Permissions.Add(new RolePermission {
                                Permission_Id  = _permission.Permission_Id,
                                PermissionName = _permission.PermissionName
                            });
                        }
                        this.Roles.Add(_userRole);

                        if (!this.IsSysAdmin)
                        {
                            this.IsSysAdmin = _role.IsSysAdmin;
                        }
                    }
                }
            }
        }
Example #2
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            // format permission : controller-action
            string             requiredPermission = String.Format("{0}-{1}", filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, filterContext.ActionDescriptor.ActionName);
            var                Identity           = (IdentityUser)filterContext.HttpContext.Session["Identity"];
            MassMailsDbContext database           = new MassMailsDbContext();

            if (Identity != null)
            {
                LOG_ACCESS log = new LOG_ACCESS();
                log.page       = requiredPermission;
                log.created_at = System.DateTime.Now;
                log.User_Id    = Identity.UserId;
                AuthUser requestingUser = new AuthUser(Identity.UserId);
                if (!requestingUser.HasPermission(requiredPermission) & !requestingUser.IsSysAdmin)
                {
                    log.status = false;
                    database.LOG_ACCESS.Add(log);
                    database.SaveChanges();

                    filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary {
                        { "action", "Index" }, { "controller", "Unauthorised" }
                    });
                }
                else
                {
                    log.status = true;
                    database.LOG_ACCESS.Add(log);
                    database.SaveChanges();
                }
            }
            else
            {
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary {
                    { "action", "Index" }, { "controller", "Login" }, { "returnUrl", filterContext.HttpContext.Request.RawUrl }
                });
            }
        }
Example #3
0
 public User()
 {
     db = new MassMailsDbContext();
 }