Example #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);
                }
            }
        }
Example #2
0
        /// <summary>
        /// 检查授权情况
        /// </summary>
        /// <param name="filterContext"></param>
        bool CheckAuthorization(AuthorizationContext filterContext)
        {
            var flag = true;

            object[] actionFilter = filterContext.ActionDescriptor.GetCustomAttributes(typeof(UnAuthorize), false);
            if (actionFilter.Length == 1)
            {
                return(true);
            }

            string controllerName = filterContext.RouteData.Values["controller"].ToString();
            string actionName     = filterContext.RouteData.Values["action"].ToString();

            if (CurrentSellerManager.SellerPrivileges == null || CurrentSellerManager.SellerPrivileges.Count == 0 || !SellerPermission.CheckPermissions(CurrentSellerManager.SellerPrivileges, controllerName, actionName))
            {
                if (Core.Helper.WebHelper.IsAjax())
                {
                    Result result = new Result();
                    result.msg           = "你没有访问的权限!";
                    result.success       = false;
                    filterContext.Result = Json(result);
                    flag = false;
                }
                else
                {
                    //跳转到错误页
                    var result = new ViewResult()
                    {
                        ViewName = "NoAccess"
                    };
                    result.TempData.Add("Message", "你没有权限访问此页面");
                    result.TempData.Add("Title", "你没有权限访问此页面!");
                    filterContext.Result = result;
                    flag = false;
                }
            }
            return(flag);
        }
Example #3
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);
        }