token
在网络编程中,Token(令牌)是指一串由服务器生成的唯一标识符,通常用于进行用户身份验证和授权。
当用户登录系统时,服务器会生成一个Token,并将其发送给客户端,客户端将Token保存在本地。以后客户端请求服务器时,会将Token携带在请求头中发送给服务器。
服务器在接收到请求后,会根据Token验证用户身份和权限,如果Token正确,则允许用户访问相应的资源或执行相应的操作,如果Token不正确,则拒绝用户访问。
Token的优点包括:
-
无状态:服务器不需要保存用户信息,而只需要验证Token的有效性即可,这样可以减轻服务器的负担。
-
安全性高:Token是由服务器生成的,每个Token都是唯一的,不容易被破解或伪造。
-
可扩展性:Token可以包含一些用户信息,比如用户ID、过期时间等,可以根据需要进行扩展。
-
适用性广:Token可以应用于多种场景,比如Web、移动端、物联网等领域。
需要注意的是,Token虽然可以提高系统的安全性,但如果Token被泄露或被人恶意使用,也会对系统带来一定的风险,因此在使用Token时需要注意安全性问题。
创建token
笔者采取的方法是:
1、获取现在的时间
2、加密后转换成MD5
3、储存在用户字段,每次登录更新
str := fmt.Sprintf("%d", time.Now().Unix())
temp := utils.Md5Encode(str) //加密代码
utils.DB.Model(&user).Where("Id = ?", user.ID).Update("Identity", temp)