Example #1
0
 public ActionResult HeaderTopMenu()
 {
     try
     {
         var results     = new List <SYS_MENU_ROLE>();
         var tmpLstRoles = SysBaseInfor.GetListSysMenu();
         if (!String.IsNullOrEmpty(tmpLstRoles))
         {
             results = JsonConvert.DeserializeObject <List <SYS_MENU_ROLE> >(tmpLstRoles);
         }
         return(PartialView("~/Views/Shared/_HeaderTopMenu.cshtml", results));
     }
     catch (Exception ex)
     {
         return(PartialView("~/Views/Shared/_Error.cshtml", ex));
     }
 }
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            try
            {
                var  controllerName = filterContext.RouteData.Values["controller"];
                var  actionName     = filterContext.RouteData.Values["action"];
                var  tmpAuth        = PermissionsRequired;
                var  tmpLstRoles    = SysBaseInfor.GetListSysMenu();
                var  lstConvert     = JsonConvert.DeserializeObject <List <SYS_MENU_ROLE> >(tmpLstRoles);
                var  tmpSysMenu     = lstConvert.Find(x => x.Controller == controllerName.ToString());
                bool userOk         = true;

                if (tmpSysMenu != null)
                {
                    foreach (UserPermissions tmpPermission in tmpAuth)
                    {
                        int noR = (int)tmpPermission;
                        if (tmpSysMenu.ACCESS_RIGHT[noR] == '0')
                        {
                            userOk = false;
                            break;
                        }
                    }
                }

                if (tmpSysMenu != null && userOk)
                {
                    base.OnAuthorization(filterContext);
                }
                else
                {
                    filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary {
                        { "controller", "WarningAndError" }, { "action", "NeedPermissionWarning" }
                    });
                }
            }
            catch (Exception ex)
            {
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary {
                    { "controller", "WarningAndError" }, { "action", "NeedPermissionWarning" }
                });
            }

            base.OnAuthorization(filterContext);
        }