Beispiel #1
0
        /// <summary>
        /// Validates access rights assigned to page route.
        /// </summary>
        /// <param name="filterContext"></param>
        /// <param name="user"></param>
        private void ValidateByPagePermissions(ActionExecutingContext filterContext, IMaestroPrincipal user)
        {
            var helper = new PagePermissionsHelper(user);

            if (!helper.IsAvailable(
                    filterContext.ActionDescriptor.ActionName,
                    filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
                    filterContext.HttpContext.Request.RequestContext.RouteData.GetArea()))
            {
                filterContext.Result = new RedirectResult(WebSettings.LoginPage);
            }
        }
        public static void Initialize()
        {
            PagePermissionsHelper.RegisterPage(
                "General",
                "Settings",
                "Customer",
                CustomerUserRolePermissions.ViewCustomerSettings,
                CustomerUserRolePermissions.ManageCustomerSettings,
                CustomerUserRolePermissions.ManageCustomerSites
                );

            PagePermissionsHelper.RegisterPage(
                "CustomerUsers",
                "Settings",
                "Customer",
                CustomerUserRolePermissions.CreateCustomerUsers,
                CustomerUserRolePermissions.ViewCustomerUsers,
                CustomerUserRolePermissions.ManageCustomerUserDetails,
                CustomerUserRolePermissions.ManageCustomerUserPassword,
                CustomerUserRolePermissions.ManageCustomerUserPermissions
                );

            PagePermissionsHelper.RegisterPage(
                "ManageThresholds",
                "Settings",
                "Customer",
                CustomerUserRolePermissions.ManageCustomerThresholds
                );

            PagePermissionsHelper.RegisterPage(
                "CareElements",
                "CareBuilder",
                "Customer",
                CustomerUserRolePermissions.BrowseHealthContent,
                CustomerUserRolePermissions.ManageCareElements,
                CustomerUserRolePermissions.ManageHealthProtocols,
                CustomerUserRolePermissions.ManageHealthPrograms
                );

            PagePermissionsHelper.RegisterPage(
                "Index",
                "Patients",
                "Site",
                CustomerUserRolePermissions.ViewAllPatients,
                CustomerUserRolePermissions.ViewOwnPatients
                );

            PagePermissionsHelper.RegisterPage(
                "Create",
                "Patients",
                "Site",
                CustomerUserRolePermissions.CreatePatients
                );

            PagePermissionsHelper.RegisterPage(
                "Index",
                "Dashboard",
                "Site",
                CustomerUserRolePermissions.ViewAllPatients,
                CustomerUserRolePermissions.ViewOwnPatients
                );
        }