public static bool HasRole(this ControllerBase controller, string role) { bool bFound = false; try { //Se fija si el usuario tiene el rol especificado bFound = new SUIUsuarios(controller.ControllerContext.HttpContext.User.Identity.Name).HasRole(role); } catch { } return(bFound); }
public static bool IsSysAdmin(this ControllerBase controller) { bool bIsSysAdmin = false; try { //Se fija si el usuario tiene los privilegios de Administrador bIsSysAdmin = new SUIUsuarios(controller.ControllerContext.HttpContext.User.Identity.Name).EsAdmin; } catch { } return(bIsSysAdmin); }
public static bool HasPermission(this ControllerBase controller, string permission) { bool bFound = false; try { //Se fija si el usuario tiene los permisos necesarios bFound = new SUIUsuarios(controller.ControllerContext.HttpContext.User.Identity.Name).HasPermission(permission); } catch { } return(bFound); }
public static bool HasRoles(this ControllerBase controller, string roles) { bool bFound = false; try { // Revisa si el usuario tiene cualquiera de los roles bFound = new SUIUsuarios(controller.ControllerContext.HttpContext.User.Identity.Name).HasRoles(roles); } catch { } return(bFound); }
public override void OnAuthorization(AuthorizationContext filterContext) { //Permisos basados en el nombre del controlador solicitado y el nombre de la acción en el formato 'nombre-controlador-acción' string requiredPermission = String.Format("{0}-{1}", filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, filterContext.ActionDescriptor.ActionName); //Cree una instancia de nuestro objeto de autorización de usuario personalizado que pasa solicitando al usuario 'Nombre de usuario de Windows' en el constructor SUIUsuarios requestingUser = new SUIUsuarios(filterContext.RequestContext.HttpContext.User.Identity.Name); log.InfoFormat("{0} {1}", requiredPermission, requestingUser.Usuario); //Check si el usuario tiene los permisos sobre los controladores o tiene el perfil admin if (!requestingUser.HasPermission(requiredPermission) & !requestingUser.EsAdmin) { filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "action", "Index" }, { "controller", "Unauthorised" } }); } }