koa2 关于登陆验证中间件以及HTML5 localStorage、sessionStorage使用反思

根据之前介绍的koa中间件原理。以及session的实现。所以我们要想判断用户登录,就要在服务端处理web请求的时候,判断是否是ctx.session.user(项目中添加的session是 user) 是否为undefined。

下面我们看一下验证登陆的代码。


首先,对于部分接口是不需要提前验证登陆情况的。对不需要验证的路由创立一个数组。如果请求是数组内的,那么就不需要验证,进入下一个中间件。 如果是需要验证的路由,那么就看cookie session是否正确。正确就交给下一个中间件处理,反之就返回code:3。 前端识别出就发出警告,通知用户未登陆。

--------------------------------

对于HTML5 中的sessionStorage localStorage是浏览器提供的一个很方便的存储方法。但是会有很多潜在的危险。

1. 了解前端技术的人员 就可以直接在控制台中获取存储信息。

2. 存在被人手动清空的风险

3. 危险性很高,不适合存储一些重要的信息

4. 缓存都特点,需要存储一些长时间很少改变的数据

由此可见,浏览器端存储虽然简便易用,但是收到这几种的限制。使用范围就小了很多。不建议大规模使用。适合对于一些经常从服务端获取的,没有重要价值的信息可以储存。而且也要处理当被用户删掉或者恶意修改时的异常情况。(网络请求的强制缓存和协商缓存也可以参考一下)

猜你喜欢

转载自blog.csdn.net/qq_33358824/article/details/80699765