思想
在登录的过程中,我们需要考虑一系列的问题
- 登录的安全性
- 一次登录后,在网站的其他网页也能记录信息
- 服务器能够记录登录的信息
- 登录过期,防止信息泄露后永久泄露
- 。。。
实现
访问令牌
- 当用户登录时,在服务器中保存令牌信息,并且将令牌的拷贝发给客户端。
- 令牌上可以设置过期时间,若客户端的令牌过期则不予访问。
- 当用户注销时,将服务器中令牌删除。(通常不删除,只是将状态设为无效)
- 若客户端的令牌在服务器上有备份,并且没有过期,则用户登录有效。
实现方式
我们存储令牌的方式各有不同,但是思想却是差不多的。
- 服务器端创建Session,通过用户的Cookie来查找。
- 在数据库中存储令牌字段,通过用户带来的参数来查找。
在这里介绍数据库的实现方式
字段 | 类型 | 备注 |
---|---|---|
id | int | 主键 |
user_id | int | 用户id |
access_token | varchar(45) | 令牌 |
expired | datetime | 过期日期 |
status | int | 状态 |