flftfqwxf/mockserver

二次代理

Closed this issue · 1 comments

请问你这个系统怎么处理二次代理的接口的登录问题?

通过cookie或header头信息,通常情况下:用户登录了,会在客户端记录COOKIE,以便发送到后端去验证接口,我这边项目的处理方式是,所有的AJAX请求,都会将用户验证的COOKIE,通过HEADER头信息发磅到服务端,全局设置或每个单独的接口上,可以设置需要通过【二次代理】到真实服务上的header字段,当你用于验证的header字段传到真实的服务端时,服务端作验证,这样就跟直接连真实接口是一样的了。

比如:

客户端:
1.你登录后,服务端一般会返回一个COOKIE,假如为:

adminAuthorization:xxxx1

2.在进入页面时,可以将cookie缓存起来,并在AJAX请求时,自定义header字段:adminAuthorization,值为你缓存的COOKIE,将这个cookie值,传送出去,比如jquery,全局设置所有的AJAX请求都将这个header字段传递给后端。

$.ajaxSetup({
beforeSend: function(xhr) {
if (adminAuthorization) {
xhr.setRequestHeader('AdminAuthorization', adminAuthorization);
}
}
});

mock-server 系统设置:

在系统设置中(推荐),设置你要二次代理中,被传递到真实服务端的HEADER字段名

服务端:

让后端通过这个字段来验证是否是登录