ASPWebAPI全局权限和全局异常处理

更新时间:2023-05-21 18:26:06 阅读: 评论:0

nicetomeetyouASPWebAPI全局权限和全局异常处理
在开发中,我使⽤json格式序列化,所以将默认的xml序列化移除
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// ...
var json = config.Formatters.JsonFormatter;
// 解决json序列化时的循环引⽤问题
uge
json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
// 移除XML序列化器
config.Formatters.Remove(config.Formatters.XmlFormatter);
}
}
全局权限验证过滤器
新建⼀个类继承⾃AuthorizationFilterAttribute,它有⼀个虚⽅法OnAuthorization,在权限验证的时候调⽤,重写这个⽅法来验证权限。[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class WebApiAuthAttribute : AuthorizationFilterAttribute
秘密韩语{
public override void OnAuthorization(HttpActionContext actionContext)
{
// 这是⼀个基本例⼦,使⽤的ASP Forms ⾝份验证
var context = HttpContext.Current;
if (context.Ur.Identity.IsAuthenticated == fal)concern
{roundrobin
PreUnauthorized(actionContext);
return;
}
}
private void PreUnauthorized(HttpActionContext actionContext)
{
glamour girl// 如果⽤户没有登录,则返回⼀个通⽤的错误Model
actionContext.Respon = actionContext.Request.CreateRespon(
HttpStatusCode.OK,
new AjaxModel
{
StatusCode = AjaxStatusCode.Unauthorized,
Message = "该操作需要⽤户登录"
});ammy
}
英翻中在线翻译}
最后只需要在WebApiConfig⾥⾯添加⼀个过滤器
config.Filters.Add(new WebApiAuthAttribute());
现在每⼀个请求都会验证权限respectful
全局异常过滤器
新建⼀个类继承⾃ExceptionFilterAttribute,同样有⼀个虚⽅法OnException,重写这个⽅法来处理异常。
public override void OnException(HttpActionExecutedContext actionExecutedContext)
{
Logger.Error(actionExecutedContext.Exception);
actionExecutedContext.Respon = actionExecutedContext.Request.CreateRespon(
HttpStatusCode.OK,
new AjaxModel
{
yes or no下载
StatusCode = AjaxStatusCode.InternalServerError,
Message = actionExecutedContext.Exception.Message
});
}
最后只需要在WebApiConfig⾥⾯添加⼀个过滤器
config.Filters.Add(new WebApiErrorHandleAttribute());

本文发布于:2023-05-21 18:26:06,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/722612.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:序列化   权限   全局   登录   验证
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图