Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Auth ¶
func Auth() gin.HandlerFunc
Auth 关于登录授权问题 目前的实现方式只能保证在登录时,客户端和后端都能保证用户是在线的。检验的方式为: 1. 登录时,前端不带cookie地向后端验证用户名和密码是否正确 2. 后端验证正确,则向客户端返回的消息里带上cookie,里面存放的是该用户的uuid。后端本地维护了session,以用户的uuid为key来标志用户的状态为在线 3. 此后,客户端每次发送请求都附带该cookie,后端使用 Auth() 函数来确保用户发来的请求是他本人。 4. 客户端方面则在本地维护了一个变量来标志用户是否在线。即使用一条api请求后端确认用户是否在线。 在正常的情况下上面的逻辑没有问题,但如果用户在登录后清除了cookie,则会导致用户后续的请求都是不带cookie的,后端则将其标记为不在线。但前端自己 本身维护的状态里,因为他已经在登录时验证了自己是在线的,所以它认为自己此时的请求是合法的。因此会出现问题。
一种比较合适的解决方式是在前端也使用中间件,每次收到后盾的返回消息时先检测后端返回的是否是标志自己不在线的消息,再进行后续操作。如果不这样做, 则客户端每个get post delete 操作都需要加上一段代码来执行上面的逻辑,非常冗余。
func Cors ¶
func Cors() gin.HandlerFunc
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.