前后端分离-通过header传递JW(Token)实现认证

前后端分离-通过header传递JW(Token)实现认证_第1张图片

前后端分离基于Token鉴权认证设计流程:

  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;
        }

 

你可能感兴趣的:(【15】架构)