C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证

2019-12-30 11:46:11于海丽

还记得我们在 JS组件系列——封装自己的JS组件,你也可以 这篇里面介绍的增加ajax的error事件的公共处理方法吗?我们是否也可以通过同样的机制去增加这个呢。新建一个文件Jquery_ajax_extention.js


(function ($) {
  //1.得到$.ajax的对象
  var _ajax = $.ajax;
  $.ajax = function (options) {
    //2.每次调用发送ajax请求的时候定义默认的error处理方法
    var fn = {
      error: function (XMLHttpRequest, textStatus, errorThrown) {
        toastr.error(XMLHttpRequest.responseText, '错误消息', { closeButton: true, timeOut: 0, positionClass: 'toast-top-full-width' });
      },
      success: function (data, textStatus) { },
      beforeSend: function (XHR) { },
      complete: function (XHR, TS) { }
    }
    //3.扩展原生的$.ajax方法,返回最新的参数
    var _options = $.extend({}, {
      error: function (XMLHttpRequest, textStatus, errorThrown) {
        fn.error(XMLHttpRequest, textStatus, errorThrown);
      },
      success: function (data, textStatus) {
        fn.success(data, textStatus);
      },
      beforeSend: function (XHR) {
        XHR.setRequestHeader('Authorization', 'BasicAuth ' + Ticket);
        fn.beforeSend(XHR);
      },
      complete: function (XHR, TS) {
        fn.complete(XHR, TS);
      }
    }, options);
    //4.将最新的参数传回ajax对象
    _ajax(_options);
  };
})(jQuery);

引用这个js后再发送ajax不必在每个请求的beforeSend里面写了。

五、总结
以上结合一个实例讲解了下Basic认证的实现原理以及简单使用,本文观点都是来自博主自己的理解,如果有不全面的地方,还望园友们斧正。如果本文能够或多或少帮到你,不妨帮忙推荐

以上这篇C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持ASPKU。