文件服务器鉴权,鉴权和认证服务器
目前登录凭证的方式无非两种:
一个是通过服务器端的session,一个是通过浏览器的cookie.
简而言之:session和cookie
常规的是通过session
步骤:
1,用户在浏览器登录
2,后台鉴权,若登录成功,则把用户信息写入session,servlet自动生成JSESSIONID 返回浏览器;
3,浏览器把JSESSIONID 写入cookie
说明:cookie是浏览器的存储文件,存储的只是JSESSIONID,而不是用户信息;
JSESSIONID 只是一个钩子,用户信息其实存储在服务器端.
比如我在浏览器登录之后,重新打开一个标签页,输入相同的地址,仍然是登录状态,因为标签页共享cookie.
也就是说我只要获取到JSESSIONID ,就可以获取用户隐私信息,比如除用户名以外的其他信息(密码,姓名,年龄等).也可以做一些敏感操作,比如修改密码
浏览器发送请求时会带上cookie
这样服务器端才知道是否登录过:
例如,我获取到JSESSIONID 之后,使用HTTP模拟发送请求:
服务器端是如何判断是否登录
Java代码
/***
* 判断是否已登录
*
* @param user2
* @return
*/
publicstaticbooleanisLogined(GenericUser user2, String loginFlag) {
if(ValueWidget.isNullOrEmpty(user2) || ValueWidget.isNullOrEmpty(user2.getUsername())
|| (!Constant2.FLAG_LOGIN_SUCCESS.equalsIgnoreCase(loginFlag))) {
returnfalse;
}else{
returntrue;
}
}
/***
* 判断是否已登录
*
* @param session
* @return
*/
publicstaticbooleanisLogined(HttpSession session) {
String loginFlag = (String) session
.getAttribute(Constant2.SESSION_KEY_LOGINED_FLAG);
GenericUser user2 = (GenericUser) session.getAttribute(Constant2.SESSION_KEY_LOGINED_USER);
returnisLogined(user2, loginFlag);
}
如果通过cookie呢?
详细流程,逻辑
(1)登录前,浏览器先向认证服务器请求一个OTP,认证服务器返回OTP,同时返回一个cookie给浏览器;
(2)认证服务器把OTP 和CCC(cookie) 挂钩;
(3)登录时连同带上OTP
(4)若登录成功,则认证服务器返回登录凭证(access token)给应用服务器;
(5)认证服务器把CCC 和登录凭证挂钩;
(6)通过CCC 可以判断用户是否有权限.
所以,
(a)可以通过CCC 获取登录凭证
(b)也可以通过OTP 获取登录凭证
根本原因:服务器把OTP 和CCC(cookie) 挂钩
那么CCC记在什么地方?
浏览器
参考:http://blog.csdn.net/hw1287789687/article/details/48373209
文件服务器鉴权,鉴权和认证服务器相关推荐
- php回源鉴权,鉴权示例
Python版本 Demo示例如下所示. 说明 如果URL中包含中文,请进行UrlEncode编码. import re import time import hashlib import datet ...
- kubernetes集群安全——认证、鉴权、准入控制
机制说明 Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务.API Server 是集群内部各个组件通信的中介,也是外部控制的入口.所以 Kubernetes 的 ...
- 4种常见的鉴权方式及说明
一.什么是鉴权 鉴权(authentication)是指验证用户是否拥有访问系统的权利.传统的鉴权是通过密码来验证的.这种方式的前提是,每个获得密码的用户都已经被授权.在建立用户时,就为此用户分配一个 ...
- 鉴权,开放式授权,单点登陆
鉴权,开放式授权,单点登陆 鉴权 鉴权(authentication)是指验证用户是否拥有访问系统的权利.传统的鉴权是通过密码来验证的.这种方式的前提是,每个获得密码的用户都已经被授权.在建立用户时, ...
- 前端鉴权的10种方式
鉴权 鉴权(Authentication) 在信息安全领域是指对于一个声明者所声明的身份权利,对其所声明的真实性进行鉴别确认的过程. 在it领域:校验session.cookie.token的合法性和 ...
- API接口鉴权及加密
前言 在为移动端做API接口时,Java服务器端对接口一般需要做两种处理. 1.对请求的接口在interceptor 做authorize鉴权 2.对请求过来的参数进行加密校验,防止参数在传递过程中被 ...
- 鉴权及常见的4大鉴权方式
鉴权 鉴权是指检验用户是否拥有访问某一个系统的权限,传统的方式是通过密码进行验证,但是方法比较繁琐,现在一般不用. 鉴权分类 鉴权现在一般分为两类,一类是网络对用户的鉴定,防止非法用户占用资源,第二类 ...
- postman 之接口鉴权
首先先明确一下接口鉴权的含义:简单来说鉴权就是要确定用户是否有访问系统(这里可以理解成接口)的权限 一般情况下如果发送接口请求的时候返回了 401 错误, 那么一般是接口需要鉴权 鉴权的方式有多种,下 ...
- 【接口测试】鉴权初了解
文章目录 1.1 什么是鉴权? 1.2 常见的鉴权方式 1.HTTP Basic Authentication鉴权方式 HTTP Basic Authentication鉴权方式的认证过程: HTTP ...
最新文章
- ISME | 通过长读长宏基因组测序揭示南极土壤未培养细菌的生物合成潜力
- 虚假新闻检测挑战赛落幕,探寻获奖团队背后的故事
- 哪些情况是友情链接作弊?总结了11种方法!
- Tries and Ternary Search Trees in Python and Javascript
- 实用的 GitHub 仓库搜索技巧
- oracle的标准写法,oracle 表连接特有写法与标准写法
- mysql5.5 免编译安装及脚本启动报错深入
- 11gR2 Grid Infrastructure Installation prerequisites On Windows
- CSDN寄送的礼物,博客评选的阳光普照奖
- php 富文本编辑器,曾经用过的十大富文本编辑器
- 伺服电机算功率基本公式_伺服电机选型通用计算公式
- 《我们终将遇到爱与孤独》
- 机器学习--PCA(主成分分析)
- BUUCTF:[BJDCTF2020]藏藏藏
- 虚拟机:虚拟机三种网络连接
- AURIX TC397 CAN MCMCAN
- 用速腾16线激光雷达跑gmapping
- 网页设计配色应用教程之各种色彩对比分析
- python pymysql cursors_怎么Pythonpymysql.cursors从mysql存储过程获取INOUT返回结果
- 如何将PDF文件转换成TXT文档
热门文章
- 2007年在职攻读硕士学位全国联考答案
- Android 使用uInput模拟手柄设备
- k-阶特征交叉增强图卷积网络
- 驱动开发:内核R3与R0内存映射拷贝
- 讯雷下载php链接,[宜配屋]听图阁 - php 网址url转迅雷thunder资源下载地址的方法函数...
- 毕设【基于Matlab的钢筋计数】GUI,参考文献,源代码
- 基于Java后台(Springboot框架)+前端小程序(MINA框架)+Mysql数据库的旅游景区景点购票小程序系统设计与实现
- 1032-左右两边子数组的和相等
- 三年海外软件项目的经历
- pcb钻孔披锋改善报告_pcb板钻孔时的孔偏如何改善