Ejemplo n.º 1
0
        static SellerPermission()
        {
            SellerPermission.ActionPermissions = SellerPermission.GetAllActionByAssembly();
            SellerPermission.privileges        = new Dictionary <SellerPrivilege, IEnumerable <ActionPermission> >();
            IEnumerable <List <ActionItem> > privilege =
                from a in PrivilegeHelper.GetPrivileges <SellerPrivilege>().Privilege
                select a.Items;

            foreach (List <ActionItem> actionItems in privilege)
            {
                foreach (ActionItem actionItem in actionItems)
                {
                    List <ActionPermission> actionPermissions = new List <ActionPermission>();
                    foreach (Controllers controller in actionItem.Controllers)
                    {
                        foreach (string actionName in controller.ActionNames)
                        {
                            actionPermissions.AddRange(SellerPermission.GetActionByControllerName(controller.ControllerName, actionName));
                        }
                    }
                    SellerPermission.privileges.Add((SellerPrivilege)actionItem.PrivilegeId, actionPermissions);
                }
            }
        }
Ejemplo n.º 2
0
        private bool CheckAuthorization(AuthorizationContext filterContext)
        {
            bool flag = true;

            if (filterContext.ActionDescriptor.GetCustomAttributes(typeof(UnAuthorize), false).Length == 1)
            {
                return(true);
            }
            string str  = filterContext.RouteData.Values["controller"].ToString();
            string str1 = filterContext.RouteData.Values["action"].ToString();

            if (base.CurrentSellerManager.SellerPrivileges == null || base.CurrentSellerManager.SellerPrivileges.Count == 0 || !SellerPermission.CheckPermissions(base.CurrentSellerManager.SellerPrivileges, str, str1))
            {
                if (!WebHelper.IsAjax())
                {
                    ViewResult viewResult = new ViewResult()
                    {
                        ViewName = "NoAccess"
                    };
                    viewResult.TempData.Add("Message", "你没有权限访问此页面");
                    viewResult.TempData.Add("Title", "你没有权限访问此页面!");
                    filterContext.Result = viewResult;
                    flag = false;
                }
                else
                {
                    BaseController.Result result = new BaseController.Result()
                    {
                        msg     = "你没有访问的权限!",
                        success = false
                    };
                    filterContext.Result = base.Json(result);
                    flag = false;
                }
            }
            return(flag);
        }