SunlightDB 安全策略(一)
来源:互联网 发布:动物大百科软件下载 编辑:程序博客网 时间:2024/05/17 08:57
SunlightDB 安全策略之一——基于Token的身份验证机制,已经在很多超大型网站中应用,比如Facebook,Twitter,Google,Github 等等,比起传统的身份验证方法,Token验证扩展性更强,更安全,非常适合用在Web应用或者移动应用上。
(1)客户端使用用户名密码请求登录;
(2)服务端收到请求,验证用户名与密码。验证成功服务端签发一个Token,再把这个Token发送给客户端;
(3)客户端每次向服务端发起请求,都需要带着服务端最新签发的Token;
(2)更适用CDN:可以通过内容分发网络请求你服务端的所有资料,而你的服务端只要提供API即可;
(3)去耦:不需要绑定到一个特定的身份验证方案。Token可以在任何地方生成,只要在你的API被调用的时候,你可以进行Token生成调用即可;
(4)更适用于移动应用:如果客户端是一个原生平台(比如 iOS,Android,Windows 8 等),是不支持Cookie的,需要额外通过Cookie容器进行处理,这时采用Token验证机制就会简单得多。
传统身份验证方法
Cookie验证是一种比较传统的HTTP安全策略。Cookie验证机制就是为一次请求认证在服务端创建一个Session对象,同时在客户端的浏览器端创建了一个Cookie对象;通过客户端带上来Cookie对象来与服务器端的Session对象匹配来实现状态管理的。默认的,当我们关闭浏览器的时候,cookie会被删除。但可以通过修改cookie 的过期时间使Cookie在一定时间内有效。基于 Token 的身份验证方法
使用基于Token的身份验证方法,在服务端不需要存储用户的登录记录。基本流程如下:(1)客户端使用用户名密码请求登录;
(2)服务端收到请求,验证用户名与密码。验证成功服务端签发一个Token,再把这个Token发送给客户端;
(3)客户端每次向服务端发起请求,都需要带着服务端最新签发的Token;
(4)服务端收到请求,验证请求里面的Token,如果验证成功返回请求的数据。流程图如下:
Token身份验证的优势
(1)支持跨域访问:Cookie是不允许垮域访问的,这一点对Token机制是不存在的,前提是传输的用户认证信息通过HTTP头传输;(2)更适用CDN:可以通过内容分发网络请求你服务端的所有资料,而你的服务端只要提供API即可;
(3)去耦:不需要绑定到一个特定的身份验证方案。Token可以在任何地方生成,只要在你的API被调用的时候,你可以进行Token生成调用即可;
(4)更适用于移动应用:如果客户端是一个原生平台(比如 iOS,Android,Windows 8 等),是不支持Cookie的,需要额外通过Cookie容器进行处理,这时采用Token验证机制就会简单得多。
1 0
- SunlightDB 安全策略(一)
- discuz论坛几种安全策略(一)
- 安全策略
- 安全策略
- SunlightDB 无限扩展
- IP安全策略设置(收藏)
- 个人密码安全策略(转载)
- ActiveMQ教程(二)-安全策略
- 本地安全策略、(本地)组策略、域控制器安全策略、域安全策略
- SunlightDB 超融合新一代数据库
- Flash 跨域访问安全策略(转)
- Oracle数据库的安全策略分析(三)
- HTML5安全:内容安全策略(CSP)简介
- HTML5安全:内容安全策略(CSP)简介
- discuz论坛几种安全策略(二)
- 如何打开Windows Server 2008 R2的域安全策略,降低密码安全策略(嘿嘿)
- SunlightDB 2017 新型区块链数据库
- SunlightDB区块链3.0技术架构简介
- android基础知识----自带的分享
- Linux上RabbitMQ安装
- PCA算法的各种实现
- 使用session和cookie实现免登陆
- Codeforces Round #408 (Div. 2)-D. Police Stations-多起点bfs
- SunlightDB 安全策略(一)
- 第11章、贡献,Bug报告,得到帮助
- cordova -d platform add android失败,报错 registy.rpm.taobao.org 失败
- 网络直播“涉黄”屡禁不止,强化监管势在必行
- bzoj4822[CQOI2017]:老C的任务(树状数组/k-dtree)
- 分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- LVS基本配置
- cookie中转注入,使用sqlmap中转注入
- laravel学习笔记(2)— Laravel中的MVC