后台设计可能遇到的问题(1)

问题:跨域; 解决方法:同源策略

实例
前端与后端分别是不同的端口,这就涉及到跨域访问数据的问题,因为浏览器的同源策略,默认是不支持两个不同域名间相互访问数据,而我们需要在两个域名间相互传递数据,这时我们就要为后端添加跨域访问的支持。
解决的步骤:在项目后台配置文件中设置:
(1)添加应用:
(2)设置中间件:
(3)添加白名单:设置允许携带cookie

# 白名单
CORS_ORIGIN_WHITELIST = (
    '127.0.0.1:8080',
    '127.0.0.1:8000',
    'localhost:8080',
    'www.xxx:8080',
    'api.xxxx:8000'
)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

Session认证机制的缺陷:

假如用户登录时候访问的是服务器1,但是获取信息时访问服务器2 ,由于服务2上没有登录的session信息,所以又得登录,难以得到扩展
session机制
token机制
(1)作用?:记录用户的登录状态,或者为用户创建身份认证的凭证
(2)Token保存在请求头中,在服务器端一般Access-Control-Allow-Origin: *。
(3)JWT的结构(三部分)
①头部(header)json数据格式:
{
‘typ’: ‘JWT’,
‘alg’: ‘HS256’
}
②载荷(payload):存放有效的信息: 标准中注册的声明
公共的声明 \ 私有的声明
③签名:需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了jwt的第三部分
secret是保存在服务器端的,jwt的签发生成也是在服务器端的,secret就是用来进行jwt的签发和jwt的验证,所以,它就是你服务端的私钥,

一般是在请求头里加入Authorization,并加上Bearer标注:
fetch(‘api/user/1’, {
headers: {
‘Authorization’: 'Bearer ’ + token
}
})

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值