登录验证应该是进行在客户端还是服务器端_网站登录认证方式

目前大部分软件系统资源访问都是使用HTTP协议,HTTP是无状态的协议,每次请求默认都是相互独立的。但是大部分情况下我们需要记录请求资源的用户信息,也就是保存会话,从而对资源的访问做限制,这是我们认证功能。常用的认证方式有 :1、HTTP Basic Auth 2、cookie Auth 3、Token Auth 4 OAuth2.0

HTTP Basic Auth

这个最古老的认证方式:登录之后会在客户端本地记录用户名和密码,每次请求资源都要带上用户名密码,后端服务收到之后对用户名和密码进行验证 ,验证通过之后就可以返回资源。这种方式现在基本人用了,弊端很明显,有把用户名密码暴露给第三方客户端的风险, 很不安全。尤其是对外提供接口的情况更不能使用。

1e0e03dd6f9b9a7279ce30d716865c74.png

cookie Auth

Cookie认证机制就是为一次请求认证在服务端创建一个Session对象,同时在客户端的浏览器端创建了一个Cookie对象;通过客户端带上来Cookie对象来与服务器端的session对象匹配来实现状态管理的。默认的,当我们关闭浏览器的时候,cookie会被删除。但可以通过修改cookie 的expire time使cookie在一定时间内有效。cookie不支持跨域,所以不支持跨域的情况。session 保存的用户信息会保存在服务器,如果用户量很大,会消耗 很大的服务器资源。

baecc063a76c22e4072056b5fc613b9a.png

Token Auth

使用token认证是目前主流的认证方式。原理是用户登录时 服务端生成一串带有用户信息的JSON串,然后通过加密和编码,生成一个无规则的字符串,这个字符串就是token,客户端保存好token,每次请求都带着这个token,可以放在http的header 也可以以参数的形式传递,客户端拿到之后通过解码解密找出用户,验证通过之后就可以返回资源给客户端。

413ac07f75bfc836d2cfd90831d4489e.png

相比于传统的cookie认证方式,这中认证有很多优势。可以支持跨域,跨平台(安卓 IOS WEB),由于不用在服务端保存用户信息,可以减轻服务器的压力,性能要高。针对token认证方式有一套标准JWT(JSON Web Token),目前很多语言(.NET, Ruby, Java,Python, PHP)都支持这套标准,开发起来很方便。

OAuth认证

OAuth认证目前是2.0版本。允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的第三方系统(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。

503143d4d4e640932c3884078161172a.png

目前使用OAuth2最典型的使用场景是微信登录认证

1 第一步:用户同意授权,获取code

2 第二步:通过code换取网页授权access_token

3 第三步:刷新access_token

4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

其实大部分第三方授权登录都是使用的这种认证方式 QQ认证、新浪微博授权登录、 支付宝授权登录等等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arcgis将点的属性赋值给面

例子:将点的编号属性列赋值到对应的面属性

arcgis投影数据计算度分秒

原始数据投影坐标系 1.先将图层坐标改为地理坐标系 2.添加字段必须是文本类型,否则计算不出度分秒的形式,只显示十进制 错误示例(字段类型为双精度) 正确示例(字段类型为文本类型)

arcgis裁剪后发现部分矢量缺失

解决办法 1.先修复几何 2.再进行裁剪 修复几何 修复的内容如下

arcgis快速创建斜坡单元剖面线

本教程做出的剖面只能用作参考,实际工作中需要进行修改 一、数据: 1.斜坡单元 DEM 步骤 利用DEM做出坡向2.提取斜坡单元内部点数据 提取斜坡单元边界线数据 提取坡向数据至点属性 3.给带有剖面点的数据添加xy坐标字段,数据类型选择数值型 添…

mapgis转arcgis数据后发现属性表内没有数据

示例: 编辑点属性结构 将注释赋为属性

分享50款非常漂亮的桌面壁纸

我喜欢根据季节更换桌面壁纸,换上一张清爽的桌面壁纸,心情也会变得舒畅。所以,今天我为大家收集了一批夏天壁纸,虽然夏天还未到来,不过这些壁纸真的非常漂亮,尽情欣赏吧。 (编译来源&#xff1a…

获取字段 命名空间和类_系统架构之命名规范

数据库设计规范表设计规范表名全部小写,单词间通过_间隔主键命名为id,类型为Long,长度为20位,非自增2. 外键及索引命名规范唯一索引:ux_表名_索引字段。如:ux_resource_code普通索引:ix_表名_索…

arcgis创建剖面线execl文件

如何快速创建剖面线,参考https://blog.csdn.net/qq_39397927/article/details/118730100 由于创建完的剖面线不带有野外编号,所以我们需要进行空间连接,因为斜坡单元转点后的数据是具有编号,所以进行空间连接将斜坡编号赋值给剖面…

arcgis计算地形起伏度

不懂的方面请进群询问

由于在客户端检测到一个协议错误_TLS协议的分析

TLS概述TLS(传输层安全性)协议基于SSL(安全套接字层)协议,该协议最初由Netscape开发,用于增强Internet上的电子商务安全性。SSL是在应用程序级实现的,直接位于TCP(传输控制协议&…

利用envi对landsat8数据进行处理

envi5.3打开landsat头文件数据有问题 应用商店插件下载链接附有安装教程 envi应用商店.zip_envi商店-互联网文档类资源-CSDN下载 需要在应用商店下载对应工具 点击下载好的工具 此处点击完后直接在envi最上面open文件landsat头文件 选择波段加载影像 进行辐射定标 选择多光谱…

利用arcgis对斜坡单元批量后处理

之前作者利用arcgis自定义工具箱创建了利用dem生成斜坡单元的工具箱,工具箱下载链接如下 ArcGIS自动生成斜坡单元_arcgis生成斜坡单元,arcgis斜坡单元-互联网文档类资源-CSDN下载 在前几天用户使用过程中出现了一些问题 发现工作空间还是作者电脑路径 需要将此取…

大型网站的负载均衡器、db proxy和db

大型网站的负载均衡器、db proxy和db 本文主要分析网站后台架构中的负载均衡器,企业常用的硬件负载均衡器软件负载均衡器、数据库代理服务器和数据库。 1.1 负载均衡 在大型网站部署中,负载均衡至少有三层部署。第一层为web server或者缓存代理之上的负载…

连接网络后浏览器却上不了网

解决在IE浏览器中 更新后的系统IE浏览器需要搜索才能出现 完成

linux 字符串截取_linux下可执行文件分析

一 背景也许大家都遇到过这种场景,就是有二进制代码,比如深度分析下此文件到底是什么格式的图片等,这篇文章就记录我分析下二进制可执行文件的过程,已经自己读写二进制文件的一些坑。分析的二进制执行文件为linux下的可执行文件。二 常用二进制文件静态分…

linux 版本_Linux动态库版本号作用机制

熟悉linux的都知道,linux的动态库如果有版本号的话,一般是libsample.so.x.y.z这样的名字。x.y.z对应的就是major.minor.release(即主.次.发布)版本号Major:大版本更新,前后都不兼容(比如移除api,又新增api)Minor&#…

arcgis在面内创建随机点

在数据管理工具下选择要素类,在要素类下选择创建随机点

python中osgeo库使用教程链接

1. 地理数据处理软件包GDAL简介 2. GDAL python教程(1)——用OGR读写矢量数据 3. GDAL python教程(2)——几何形状geometry与投影projection4. GDAL python教程(3)——过滤器,简单的空间分析&…

winform 判断控件有没有被遮挡_编程入门基础之 winform(2)

在编程入门1中,我们通过WINFORM等控件画出了登录界面,我们今天写登录界面的登录按钮事件。装修预算小程序登录按钮事件在上图中,我们看到了,有几个判断 ,在C#中,if ,else是作为条件判断语句来使用。条件判断…