123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using Cksoft.Data;
- using Cksoft.Data.Repository;
- using DllUfpDal;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.Filters;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using DllEapEntity.Dtos;
- using System.Linq;
- using Cksoft.Unity;
- namespace DllEapCommon.Filters
- {
- public class ButtonFilter : ActionFilterAttribute
- {
- public override void OnActionExecuting(ActionExecutingContext context)
- {
- var controllerName = context.ActionDescriptor.RouteValues["controller"].ToLower(); // 控制器名称
- var actionName = context.ActionDescriptor.RouteValues["action"].ToLower(); // 方法名称
- if (controllerName == "analysis2")
- {
- base.OnActionExecuting(context);
- return;
- }
- var userCode = context.HttpContext.Request.Headers["usercode"];
- var sysId = context.HttpContext.Request.Headers["sysid"];
- string errorinfo = string.Empty;
- var eapRes = new EapResponse() { Code = 1, Msg = string.Empty, IsAuthorized = 1 };
- using (IDatabase db = DbFactory.Base("ufp"))
- {
- var dal = new BtnFuncDal(db);
- var isPermitted = dal.IsPermitted(userCode, controllerName, actionName, ref errorinfo);
- if (!isPermitted)
- {
- eapRes.Code = 401;
- eapRes.Msg = errorinfo;
- eapRes.IsAuthorized = -1;
- context.Result = new JsonResult(eapRes); /*new StatusCodeResult(401)*/;
- }
- }
- base.OnActionExecuting(context);
- }
- }
- }
|