1. 认证授权
1.1 Authentication和Authorization
答:通俗说,认证 Authentication 就是你是谁,授权 Authorization 就是你有权干什么。
1.2 Cookie和Session
- Cookie是保存在客户端,用来保存用户信息的数据。内有SessionID。
- Session是保存在服务端,用来记录用户状态的数据。通过SessionID标识用户,放在redis里。
1.2.1 认证流程
- Client发送用户名密码登录系统;
- Server验证通过,创建Session标识用户,并保存redis;
- Server返回SessionID,写入Client的cookie;
- Client之后所有请求都带cookie发出;
- Server通过redis中的Session信息和cookie中的SessionID比较,验证身份。
1.2.2 Cookie禁用
答:不是没有Cookie就不能用Session,还可以把Session直接拼接URL,或者加密后再拼接。
1.2.3 安全问题
答:Cookie无法阻止CSRF跨站请求伪造,因为只要拿到SessionID就能冒用身份进行访问。