目录导航
-
撤销(Ctrl+Z)
-
重做(Ctrl+Y)
-
清空
-
H
标题(Ctrl+1~6)
- 一级标题
- 二级标题
- 三级标题
- 四级标题
- 五级标题
- 六级标题
-
粗体(Ctrl+B)
-
斜体(Ctrl+I)
-
删除线
-
插入引用(Ctrl+Q)
-
无序列表(Ctrl+U)
-
有序列表(Ctrl+O)
-
表格
-
插入分割线
-
插入链接(Ctrl+L)
-
插入图片
- 添加图片链接
-
插入代码块
-
保存(Ctrl+S)
-
开启预览
-
开启目录导航
-
关闭同步滚动
-
全屏(按ESC还原)
# 单服务器下 ### 方案 * 直接采用Session存储用户登陆信息即可。 ### 原理 * 客户端访问登陆接口,服务器校验账号和密码通过后,把用户信息记录到Session中,并生成SESSION_ID返回给客户端,客户端保存SESSION_ID到Cookie中,之后每次请求都会带上SESSION_ID,服务器就知道客户端的身份了。 # 分布式服务器 ### 方案一 * 依然采用Session存储用户登陆信息,因为涉及多台服务器之间的Session共享,一般把Session存储到Redis中,Redis可采用集群来支持高可用。 ### 方案二 * 采用JWT(Json Web Token),服务器认证后,把用户信息保存成json对象,并用密钥进行加签名防止串改,发回给客户端。这样服务器是无状态模式,比较容易扩展。此方法是不加密的,注意不要保存隐私信息。 * 客户端可以将JWT存储到Cookie中或者localstorage中(但是会有跨域的问题)。客户端和服务端每次通信都要带上JWT。 * 将JWT放到http的header头中的Authorization字段里。另一种是放到post请求的body中 * 默认不加密,可自行加密 * 退出登陆时,要讲token扔入黑名单 * 不要使用http,强烈建议使用https协议。
单服务器下
方案
- 直接采用Session存储用户登陆信息即可。
原理
- 客户端访问登陆接口,服务器校验账号和密码通过后,把用户信息记录到Session中,并生成SESSION_ID返回给客户端,客户端保存SESSION_ID到Cookie中,之后每次请求都会带上SESSION_ID,服务器就知道客户端的身份了。
分布式服务器
方案一
- 依然采用Session存储用户登陆信息,因为涉及多台服务器之间的Session共享,一般把Session存储到Redis中,Redis可采用集群来支持高可用。
方案二
- 采用JWT(Json Web Token),服务器认证后,把用户信息保存成json对象,并用密钥进行加签名防止串改,发回给客户端。这样服务器是无状态模式,比较容易扩展。此方法是不加密的,注意不要保存隐私信息。
- 客户端可以将JWT存储到Cookie中或者localstorage中(但是会有跨域的问题)。客户端和服务端每次通信都要带上JWT。
- 将JWT放到http的header头中的Authorization字段里。另一种是放到post请求的body中
- 默认不加密,可自行加密
- 退出登陆时,要讲token扔入黑名单
- 不要使用http,强烈建议使用https协议。
评论
请
登录后发表观点