专注后端技术 2018-07-27
目前项目的发展趋势是前后端分离,前端使用vue、React、angular等技术,后端提供接口。
这种方式将后端开发人员从JSP(HTML、css、JS)中解放出来,更专注于后台逻辑的实现。但前后端分离后,由于后端接口是无状态的,那用户信息等敏感数据如何拿到呢?
可以使用token(令牌)机制进行实现,思路如下:
前端第一次登录后,后端使用userid、时间戳等信息组成字符串,然后使用AES等加密技术进行加密,这就是token,然后把token传给前端。以后前端进行其它接口的调用时,就把token带上。后端拦截器取得这个token后,进行解密,如果可正常解密拿到相关数据,就认为是合法请求。同时也拿到了userid,有个userid,或者从缓存中,或者从数据库中取得用户的相关信息。
前后端分离后,前后端分属不同项目,项目的域名则不同,这时会出现跨域问题,可以使用CROS进行跨域处理