jwt check the base file id

fix https://github.com/chrislusf/seaweedfs/issues/867
This commit is contained in:
Chris Lu
2019-03-03 10:17:44 -08:00
parent 2812c14520
commit 219b651bc3
2 changed files with 35 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ package weed_server
import (
"net/http"
"strings"
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/security"
@@ -71,6 +72,9 @@ func (vs *VolumeServer) maybeCheckJwtAuthorization(r *http.Request, vid, fid str
}
if sc, ok := token.Claims.(*security.SeaweedFileIdClaims); ok {
if sepIndex := strings.LastIndex(fid, "_"); sepIndex > 0 {
fid = fid[:sepIndex]
}
return sc.Fid == vid+","+fid
}
glog.V(1).Infof("unexpected jwt from %s: %v", r.RemoteAddr, tokenStr)