前后端分离-通过header传递token实现认证

通过JWT实现认证流程

  1.前端输入用户名、密码后台登录

  2.后端根据用户ID生成Token、返回给前端

  3.前端ajax请求、通过header头部设置 Authorization :token

  4.后端通过Filter、拦截所有请求、处理请求是否合法(token失效、token为空、token过期)

 前端ajax关键代码

$.ajax({
    	headers: {
	        "Authorization": token
	    },
		url:url,
        contentType: "application/json",
        dataType: "json",
        data: JSON.stringify(param),
        cache: false,
        processData: false,
        async:status,
        type:"put",
        success:function (res) {
        },
        error:function(){
        },
        statesCode:{
            999:function () {
               //token 异常处理
            },
            888:function () {
               //token 异常处理
            }  
        }
    });

注意事项:由于前后端存在跨域问题、后端需要设置一下支持跨域、并且针对OPTIONS请求特殊处理一下、还需要将filer优先级设置-1、优先执行跨域过滤器

response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "*");
        if (request.getMethod().equals("OPTIONS")) {
            response.setStatus(HttpServletResponse.SC_OK);
            return;
        }

 

  • 9
    点赞
  • 1
    评论
  • 48
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值