/// <summary>
        /// 当前请求是否具有访问权限
        /// </summary>
        /// <param name="filterContext">
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        private bool HasPermission(AuthorizationContext filterContext)
        {
            if (string.IsNullOrEmpty(filterContext.HttpContext.User.Identity.Name))
            {
                // if login then return false
                return(false);
            }

            // 取当前用户的权限
            IEnumerable <ApplicationPermission> rolePermissions = this.GetUserPermissions(filterContext.HttpContext);

            // 待访问的Action的Permission
            var action = new ApplicationPermission
            {
                Action     = filterContext.ActionDescriptor.ActionName,
                Controller =
                    filterContext.ActionDescriptor.ControllerDescriptor
                    .ControllerName,
                Description =
                    ActionPermissionService.GetDescription(
                        filterContext.ActionDescriptor)
            };

            // 是否授权
            return(rolePermissions.Contains(action, new ApplicationPermissionEqualityComparer()));
        }
Esempio n. 2
0
        public ActionResult TestGetActionName()
        {
            ActionPermissionService aps = new ActionPermissionService();

            List <Model.gn> gns = aps.GetAllActionByAssembly() as List <Model.gn>;

            return(View(gns));
        }
        /// <summary>
        /// 当前请求是否具有访问权限
        /// </summary>
        /// <param name="filterContext"></param>
        /// <returns></returns>
        private bool HasPermission(AuthorizationContext filterContext)
        {
            //取当前用户的权限
            var rolePermissions = GetUserPermissions(filterContext.HttpContext);
            //待访问的Action的Permission
            var action = new ApplicationPermission
            {
                Action      = filterContext.ActionDescriptor.ActionName,
                Controller  = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
                Description = ActionPermissionService.GetDescription(filterContext.ActionDescriptor)
            };

            //是否授权
            return(rolePermissions.Contains(action, new ApplicationPermissionEqualityComparer()));
        }
Esempio n. 4
0
        public ActionResult Init()
        {
            DAL.gn gndal = dal as DAL.gn;

            //清空现有功能表
            gndal.DeleteAll();

            //利用反射获取程序功能写入到t_gn表中
            ActionPermissionService aps = new ActionPermissionService();
            IList <Model.gn>        gns = aps.GetAllActionByAssembly();

            foreach (Model.gn gn in gns)
            {
                gndal.Add(gn);
            }
            return(Json(new ViewModels.Message {
                sno = 1, msg = ""
            }));
        }
 public ActionPermissionController(ActionPermissionService service, ActionPermissionChangeService changeService)
     : base(service, changeService)
 {
 }