/// <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 ); }