前后端分离-通过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;
        }

 

  • 14
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前后端分离是一种开发架构,将前端和后端的开发过程分开进行,前端主要负责用户界面展示和交互逻辑,后端负责数据处理和业务逻辑。而sa-token是一种单点登录的解决方案。 sa-token是基于Token的一个轻量级权限认证和申请令牌的工具,可以实现前后端分离项目的单点登录功能。它通过生成和验证Token令牌来实现用户身份认证。 在前后端分离的架构中,前端发送登录请求到后端,后端通过验证用户的账号和密码,如果验证成功,则生成一个Token令牌,并将该Token返回给前端。前端保存该Token,每次向后端发送请求时,需要在请求的Header中添加Token。后端通过获取请求Header中的Token,并进行验证,如果验证通过,则表示用户已登录。 sa-token提供了一些便捷的API,用于生成Token、验证Token、获取用户信息等操作。通过这些API,我们可以简便地实现单点登录的功能。sa-token还提供了一些定制化的配置选项,可以根据实际需求进行调整。 前后端分离的sa-token单点登录方案具有以下优点:简单易用、安全性高、扩展性强等。同时,由于前后端分离,使得前端和后端可以独立开发和部署,提高了开发效率和项目的可维护性。 总之,前后端分离sa-token单点登录是一种解决方案,通过Token令牌验证实现用户身份认证,适用于前后端分离的项目,具有诸多优点,可轻松实现单点登录功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值