asp.net WebApi自定义权限验证消息返回

 public class WebApiAuthAttribute : AuthorizeAttribute
    {
        /// <summary>
        /// 接口访问IP白名单列表
        /// </summary>
        public static string WhiteIPList
        {
            get
            {
                return System.Configuration.ConfigurationManager.AppSettings["WhiteIPList"];
            }
        }
        /// <summary>
        /// 比对 
        /// </summary>
        /// <param name="actionContext"></param>
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            if (WhiteIPList.Equals("*") || WhiteIPList.Contains(GetHostAddress()))
            {
                return;
            }
            else
            {
                base.OnAuthorization(actionContext);
            }
        }

        protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
        {
            BaseFlow erModel = new BaseFlow();
            erModel.error = "非法的请求地址";
            erModel.errno = 401;
            erModel.success = false;
            erModel.total = 0;
            actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.OK, erModel, "application/json");
        }
}

猜你喜欢

转载自www.cnblogs.com/5tomorrow/p/9618599.html
今日推荐