示例#1
0
        //public AuthorizationController(
        //    IModuleServices moduleServices,
        //    IModuleElementServices moduleElementServices)
        //{
        //    ModuleServices = moduleServices;
        //    ModuleElementServices = moduleElementServices;
        //}

        protected override void Authorization(ref ActionExecutingContext filterContext)
        {
            if (!UserInfo.RoleUserInfos.Any(r => r.RoleID == 1))
            {
                //判断用户是否具有访问方法的权限
                //IModuleServices moduleServices = AutoFacConfig.Container.Resolve<IModuleServices>();

                if (ModuleServices.IsHaveModule(ControllerName, UserInfo))
                {
                    Attribute authorize = Function.GetCustomAttribute(typeof(AuthenticateAttribute));
                    if (authorize != null)
                    {
                        //IModuleElementServices moduleElementServices = AutoFacConfig.Container.Resolve<IModuleElementServices>();
                        if (!ModuleElementServices.IsHaveModuleElement(ControllerName, ActionName, UserInfo))
                        {
                            filterContext.Result = new RedirectResult("~/HttpError/401.html");
                            return;
                            //throw new Exception("你没有权限");
                        }
                    }
                }
                else
                {
                    filterContext.Result = new RedirectResult("~/HttpError/401.html");
                }
            }
        }