Token⼊门学习
⼀、为什么要使⽤Token(Token的意义)
在⽤户通过客户端向服务器端获取数据的时候,很多时候需要先判断其是否已经登录,那么,就会造成频繁的访问数据库,来判断其账号密码是否正确,来作出相应的响应,这样做,显然是不明智的,会⼤⼤的降低程序的效率。
Token是服务端⽣成的⼀串字符串,以作客户端进⾏请求的⼀个令牌,当第⼀次登录后,服务器⽣成⼀个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,⽆需再次带上⽤户名和密码。这样就可以⼤⼤的减少数据库的访问次数,提升代码效率。
⼆、Token基本⼯作流程
1.客户端使⽤⽤户名和密码登录(第⼀次)
2.服务器验证⽤户名和密码,第⼀次未带token,需要到数据库验证,判断⽤户名和密码是否正确,若正确登录成功,并⽣成⼀个Token返回给客户端。
3.客户端将Token保存,如保存在Cookie中,在下⼀次访问服务器的时候带上Token和userid,服务器端
检验Token的有效期,若有效,就能获取数据。(或许会疑惑,Token保存在本地,被劫持怎么办,这⾥,举⼀个简单的加密,使⽤URL、时间戳、token三者进⾏合并加盐签名,服务器端来校验。)
三、如何⽣成Token
1.使⽤设备号/设备mac地址作为Token,在客户端登录的时候获取设备的设备号/mac地址,将其发送到服务器端,服务器端根据⼀定的规则⽣成Token,并将其存放在session中。在每次访问的时候,先判断是否需要登录才能访问,若需要,则需要根据Token进⾏⽐对。
2.⽤session值来⽣成Token,那么客户端只需要发送⽤户名和密码就可以,但Token的有效期会受到Session的有效期影响。
ja va后端新⼈,学习中,如有错误,请不吝赐教。数据库学习入门书籍
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论