update: 线程安全

This commit is contained in:
Akkia
2022-05-18 10:28:24 +08:00
parent 990394bf46
commit 73df5fa0de
3 changed files with 13 additions and 0 deletions

View File

@@ -55,10 +55,12 @@ func Authorize(opt AuthorizeOption) func(*gin.Context) {
apiToken := c.GetHeader("Authorization")
if apiToken != "" {
var u model.User
singleton.ApiLock.RLock()
if _, ok := singleton.ApiTokenList[apiToken]; ok {
err := singleton.DB.First(&u).Where("id = ?", singleton.ApiTokenList[apiToken].UserID).Error
isLogin = err == nil
}
singleton.ApiLock.RUnlock()
if isLogin {
c.Set(model.CtxKeyAuthorizedUser, &u)
c.Set("isAPI", true)