八桂云网站建设,做外贸在哪个网站比较好,二手工程机械交易平台,海南城乡住房建设厅网站2. 登录校验
2.1 问题分析
我们已经完成了基础登录功能的开发与测试#xff0c;在我们登录成功后就可以进入到后台管理系统中进行数据的操作。
但是当我们在浏览器中新的页面上输入地址#xff1a;http://localhost:9528/#/system/dept#xff0c;发现没有登录仍然可以进…2. 登录校验
2.1 问题分析
我们已经完成了基础登录功能的开发与测试在我们登录成功后就可以进入到后台管理系统中进行数据的操作。
但是当我们在浏览器中新的页面上输入地址http://localhost:9528/#/system/dept发现没有登录仍然可以进入到后端管理系统页面。 而真正的登录功能应该是登陆后才能访问后端系统页面不登陆则跳转登陆页面进行登陆。
为什么会出现这个问题其实原因很简单就是因为针对于我们当前所开发的部门管理、员工管理以及文件上传等相关接口来说我们在服务器端并没有做任何的判断没有去判断用户是否登录了。所以无论用户是否登录都可以访问部门管理以及员工管理的相关数据。所以我们目前所开发的登录功能它只是徒有其表。而我们要想解决这个问题我们就需要完成一步非常重要的操作登录校验。 什么是登录校验 所谓登录校验指的是我们在服务器端接收到浏览器发送过来的请求之后首先我们要对请求进行校验。先要校验一下用户登录了没有如果用户已经登录了就直接执行对应的业务操作就可以了如果用户没有登录此时就不允许他执行相关的业务操作直接给前端响应一个错误的结果最终跳转到登录页面要求他登录成功之后再来访问对应的数据。 了解完什么是登录校验之后接下来我们分析一下登录校验大概的实现思路。 首先我们在宏观上先有一个认知
前面在讲解HTTP协议的时候我们提到HTTP协议是无状态协议。什么又是无状态的协议
所谓无状态指的是每一次请求都是独立的下一次请求并不会携带上一次请求的数据。而浏览器与服务器之间进行交互基于HTTP协议也就意味着现在我们通过浏览器来访问了登陆这个接口实现了登陆的操作接下来我们在执行其他业务操作时服务器也并不知道这个员工到底登陆了没有。因为HTTP协议是无状态的两次请求之间是独立的所以是无法判断这个员工到底登陆了没有。 那应该怎么来实现登录校验的操作呢具体的实现思路可以分为两部分 在员工登录成功后需要将用户登录成功的信息存起来记录用户已经登录成功的标记。 在浏览器发起请求时需要在服务端进行统一拦截拦截后进行登录校验。 想要判断员工是否已经登录我们需要在员工登录成功之后存储一个登录成功的标记接下来在每一个接口方法执行之前先做一个条件判断判断一下这个员工到底登录了没有。如果是登录了就可以执行正常的业务操作如果没有登录会直接给前端返回一个错误的信息前端拿到这个错误信息之后会自动的跳转到登录页面。 我们程序中所开发的查询功能、删除功能、添加功能、修改功能都需要使用以上套路进行登录校验。此时就会出现相同代码逻辑每个功能都需要编写就会造成代码非常繁琐。 为了简化这块操作我们可以使用一种技术统一拦截技术。 通过统一拦截的技术我们可以来拦截浏览器发送过来的所有的请求拦截到这个请求之后就可以通过请求来获取之前所存入的登录标记在获取到登录标记且标记为登录成功就说明员工已经登录了。如果已经登录我们就直接放行(意思就是可以访问正常的业务接口了)。 我们要完成以上操作会涉及到web开发中的两个技术 会话技术 统一拦截技术
而统一拦截技术现实方案也有两种 Servlet规范中的Filter过滤器 Spring提供的interceptor拦截器