JAVA基础 - token session cookie

前言

认证(Identification): 根据声明者持有的特定信息,来确认声明者的身份
例如身份证、用户名/密码、手机(包括短信、二维码、手势密码)、电子邮箱、生物特征(虹膜、面部、指纹、语音等)
高安全要求的场景下,会使用多种认证方式组合进行身份校验,即多因素认证
授权(Authorization): 资源所有者委派执行者,赋予其指定范围的权限,执行对资源的操作
授权实体例如银行卡、门禁卡、钥匙、证书等
例如web服务的session机制、浏览器的cookie机制、授权令牌token等
鉴权(Authentication): 对一个声明者的身份权利的真实性进行鉴别
授权和鉴权是一个一一对应的流程,有授权才会去鉴权
权限控制(Access/Permission Control): 将可执行的操作定义为权限列表,然后判断操作是允许/禁止
权限是将操作人的行为抽象化的一个概念
这几个概念之间的关系:

认证 -> 授权 -> 鉴权 -> 权限控制
一般情况下认证/授权同时发生,认证即授权,然后在后续行为中进行鉴权和权限控制
认证和鉴权的异同:

认证确认的是声明者的身份,鉴权则是对声明者声明的权限进行确认
认证需要通过声明者独特的信息进行识别,鉴权则是通过鉴别授权过程中定义的某个媒介,这个媒介具有真实有效、不可篡改、不可伪造等特性


Session和Cookie的区别?

1、数据存储位置:cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、安全性:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
3、服务器性能:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、数据大小:单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。session存储在我们的服务器端,没有存储数量限制,可以保存更多复杂类型的数据结构
5、信息重要程度:可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。
6、生命周期不同:以20分钟为例,cookie的生命周期是累计的,从创建时开始计时,20分钟后cookie生命周期就结束了。session的生命周期是间隔的,从创建时开始计时,如果在20分钟内没有访问的我们的session,那么session生命周期就被销毁了,但是如果在20分钟内,比如第19分钟时呢访问过session,那么将重新计时session生命周期

Java Web学习(五)session、cookie、token - 有梦想的肥宅 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值