- edit at 2018-05-03
## 方案一 登录状态认证
1, 登录信息提交之后 后端生成token唯一编码, 通过这个编码在 缓存系统 中保存用户的数据 ,(以这个编码为名称 保存一个缓存)
2, 将这个token返回给前台, 前台使用本地存储保存这个token
3, 定义一个函数用于统一请求后台接口 这个函数会把token附带到提交的数据中 || 或者添加到请求的header中
4, 请求的api中 需要登录的api都需要认证这个token编码是否为有效的已登录用户(缓存中是否存在这个名称的缓存数据)
5, 当请求的接口 没有登录的时候, 直接返回一个特殊的 表示未登录的状态的函数到前段 这里定义70001
6,这个统一请求后台接口的函数 , 将返回的数据进行默认处理, 如果是70001, 则让用户先登录
7, 页面标识的是否需要登录检测 , 每个页面都单独有一个配置,或者集中一个文件配置那些页面需要登录,然后验证访问的url
, 标记是否需要登录, 然后直接判定本地存储的授权码是否存在 不存在则没有登录
## 方案二 类似PHP sessionId 的方式
1, 请求的时候 后端所有接口都需要判断是否存在token编码 不存在则生成一个编码返回给前端
2, 前端保存这个编码到cookie或者本地存储中
3, 定义一个函数用于统一请求后台接口, 读取存储的token编码,这个函数会把token附带到提交的数据中 || 或者添加到请求的header中
4, 后端定义函数 mySession() 通过这个编码为名称 保存或增加修改数据到缓存中 ,
5,其他的与普通网站模式一样 使用mySession替代提前的session函数 ,将用户登录信息 或者是其他状态信息保存
不存在编码则生成
https://blog.csdn.net/u011181633/article/details/43229387
- 内容说明
- git的使用
- 常用复制
- mysql
- uniapp
- 学习记录
- 序言 导航栏目
- 1, css flex布局学习
- vscode插件开发
- Yaf框架使用
- 代码编辑器使用
- 企业运营
- vue组件项目使用markdown作为文档
- 使用gulp
- 待学习内容
- 常用业务逻辑
- 定时任务
- 多语言
- 微信支付
- 视频处理
- excel导出导入
- php
- 架构
- 配置
- sysconfig
- 微擎二次开发
- 人人商城后台开发
- 后台管理-菜单权限
- 一些建的表
- 常用
- form
- 常用函数
- 人人商城开发
- FoxUI
- 插件二次开发
- 资金
- 注册推荐人
- 基本
- 后台开发
- thinkcmf-curd
- apis
- thinkcmf
- fastadmin
- swoole
- thinkphp使用swoole
- composer
- 开发composer包
- 错误记录
- laraval框架
- php跨域问题
- nginx
- apache
- EasySwoole的使用
- 学习笔记1
- thinkphp6
- 文件上传
- mysql
- 存储过程
- 日志查询 binlog
- 数据库优化
- php调试
- 开源项目二次开发笔记
- 禾匠
- 订单
- 测试接口
- 知识体系
- php遇到的错误
- php8新特性
- 快速开发-基础包-文档
- vue-open-pc基础架构
- 序言
- 页面创建
- axios接口调用
- vue-open-mobile基础结构
- 序言
- 微擎-应用市场
- mulo-admin-tp
- zoo-admin
- 基础增删改查
- 列表页
- curd
- Popup弹出层
- 项目架构
- 微服务
- nginx
- 常用命令
- 配置说明
- 配置负载均衡
- 代理内网数据库
- 限流
- 变量
- nginx语法
- 项目管理
- 测试体系
- 压力测试
- Jenkins
- 开发环境构建
- 服务器
- linux系统
- linux常用命令
- 日志系统
- 自动化部署
- 宝塔webhook
- 项目部署
- 大数据
- hadoop
- HBase 亿级数据的分布式非关系型数据库
- MaxCompute 阿里云云计算数据库
- Hive 数据库for hadoop
- redis
- linux
- 部署环境常用
- 个人开源npm包-文档
- mulo-test
- mulo-cli包 构建工具
- 命令说明
- mulo-tools 常用js工具整合
- Url
- 辅助函数
- jsx
- FileSystem
- mulo-codes包 我的常用代码 演示包
- mulo-validate 验证类函数
- vscode-codes包 vscode代码片段
- phpdefault
- js
- php-thinkcmf
- mulo-ui
- 代码高亮实现
- 文档功能实现
- css包规则
- mulo
- mulo-admin
- 列表页组件
- 列表页组件-筛选
- vue插件
- npm包学习和使用
- Markdown-it解释器
- cp-cli文件,文件夹复制
- remark markdown的插件
- transliteration 文字转换为拼音
- 常用包
- lerna 代码git库耦合度
- lodash
- web全栈
- vite
- web应用性能优化
- vue3
- vue3组件开发
- 构建工具
- rollupjs
- 前端常见问题
- 创建跨域代理服务
- 背景精灵图制作
- js导出导入excel
- gulp构建工具
- 使用gulp打包scss
- gulp-autoprefixer根据浏览器处理前缀
- gulp-cssmin压缩css
- gulp+browser-sync前端自动化
- 使用记录
- webpack的使用
- 2019年11月4日实战记录
- 2019年11月4知识点
- 浏览器自动刷新 webpack-dev-server
- 被坑日记
- 使用eleme的md加载器
- 加载资源
- 自定义loader
- 使用记录
- 开发library
- 使用jsx
- 动态打包
- vue
- cli3
- 常用复制
- 常用插件的使用
- jquery
- vux状态管理
- [组件库]mint-ui饿了么
- [上拉加载]模块
- bootstrap框架引入
- sass样式
- axios数据交互
- swiper幻灯片插件
- storejs本地存储插件
- vuet状态管理(vux的简化版)
- nuxt服务端渲染
- 基础使用
- vue与后台交互数据
- 创建项目
- 使用常见问题
- 前后端分离权限认证方案
- 使用记录-遇到的问题
- 组件开发
- vue知识map
- 常用组件库
- dev tool
- 常用组件库整理
- angular
- 学习记录-2017
- css样式
- bootstrap笔记
- css3使用
- 使用记录
- 动画
- css单位
- 实例代码
- 悬浮窗
- 被坑日记
- 贝塞尔曲线
- javascript
- javascript高级使用
- javascript写法收集
- 代码记录
- jquery的使用
- 发送验证码倒计时
- js实现addclass removeclass
- 基础
- ES6的新特性
- javascript遇到的坑
- nodejs
- 优秀开源项目
- [框架]express
- 基础
- test
- 进程管理
- knexjs 查询构建
- mogodb
- npm
- 开发npm包
- 开发全局包-命令行工具
- 开发细节记录
- 使用记录
- npm包的依赖说明
- 命令说明
- typescript
- 入门
- typescript基础
- 声明文件呢 types .d.ts
- uni-app
- 使用记录
- 采坑日记
- web技术点
- html meta标签的常用定义
- 强制跳转到https
- 开发library
- babel编译器
- websocket
- socket.io
- CDN
- 正则使用记录
- 创建技术文档
- sveltejs框架
- 测试
- 测试说明
- e2e UI测试
- 参考
- ava
- vue测试
- pc应用electron.js
- 开发资源
- Flutter
- python
- bui
- eslint
- 云开发
- uniCloud
- app开发
- apicloud-app开发
- 常用复制
- uni-app
- 游戏开发
- phaser 2d游戏框架
- 1 基本学习 ,创建游戏,场景,加载资源
- 2 摄像机,舞台,世界,缩放控制
- 3 显示对象,图片 图形 按钮 精灵
- 4 其他
- 5 文字
- 6 组
- 7 动画
- 8,atlas的制作和使用,
- 我的composer包
- mulo-app 应用常用类库
- 更多知识随手记一下
- 教育法
- 物联网
- 51单片机
- arduino单片机
- 被坑日记
