前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之一

Java Web项目开发方式

在这里插入图片描述
Java Web的开发有以下几种:

  • 单纯JSP开发
  • 结合模板引擎的JSP开发(比如Thymeleaf),模板引擎提供了更多页面和数据结合的组件,很大程度减轻了页面开发的工作量。
  • 结合前端组件和框架的开发,比如JQuery、EasyUI、Ext JS等,在JSP页面导入前端组件或是框架的JS/CSS文件进行开发。
  • 前后端分离开发: 后端仅提供服务,返回JSON等格式的数据, 前端负责页面显示。

传统的基于JSP或是模板引擎进行显示的Java Web项目中,前后端是一体的,虽然看上去是在HTML中嵌入Java的脚本, 但实际上JSP页面最终是被Web容器或是服务器转换为Java的Servlet代码,通过response响应html内容到前端。所以JSP页面包含Session、Page、Request等后端对象,在Session对象中可以存取认证用户的信息,基于此实现用户认证。
  Session对象是保存在后端的Web容器中,并且有一个唯一的ID, 浏览器端在第一次访问之后,就会记住这个ID,并且每次请求的时候都带上这个ID,所以在JSP系列的Web开发中,用户认证就很容易实现。但是在前后端分离的框架中, 前端是独立的,单纯的html页面是无法取到后端的Session对象的。在SPA(单页面应用)的前端框架中,虽然可以使用JSP去替代HTML,但在并发访问大的项目中,大部分前后端分离的应用,前端和后端部署在不同的服务器中,这也是架构扩展的必要条件。所以,在前后端分离框架中,如何实现用户认证就是一个不可回避的问题,答案就是使用Token的

猜你喜欢

转载自blog.csdn.net/oscar999/article/details/103605520