1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-09 02:01:31 +08:00

fix user tmpfile permission

This commit is contained in:
源文雨
2023-05-10 00:34:02 +08:00
parent 125b47e5f7
commit 9c9b6e4eae
5 changed files with 6 additions and 15 deletions

View File

@@ -63,18 +63,14 @@ func (u *UserDatabase) SetUserRegex(id int, reg *Regex) error {
}
// GetUserRegex default newRegex()
func (u *UserDatabase) GetUserRegex(id int) (*Regex, error) {
user, err := UserDB.GetUserByID(id)
if err != nil {
return nil, err
}
if !user.IsSuper() || id != *user.ID {
func (u *UserDatabase) GetUserRegex(oper *User, id int) (*Regex, error) {
if !oper.IsSuper() && id != *oper.ID {
return nil, ErrInvalidRole
}
u.mu.RLock()
reg, _ := sql.Find[Regex](&u.db, UserTableRegex, "WHERE ID="+strconv.Itoa(id))
u.mu.RUnlock()
reg.ID = *user.ID
reg.ID = *oper.ID
rf := reflect.ValueOf(&reg).Elem()
defaultrf := reflect.ValueOf(GetDefaultRegex())
for i := 1; i < rf.NumField(); i++ {

View File

@@ -67,7 +67,7 @@ func init() {
writeresult(w, codeError, nil, err.Error(), typeError)
return
}
reg, err := global.UserDB.GetUserRegex(*user.ID)
reg, err := global.UserDB.GetUserRegex(user, id)
if err != nil {
writeresult(w, codeError, nil, err.Error(), typeError)
return

View File

@@ -12,7 +12,7 @@ func getUserRegex(token string) (*global.Regex, error) {
if user == nil {
return nil, errInvalidToken
}
return global.UserDB.GetUserRegex(*user.ID)
return global.UserDB.GetUserRegex(user, *user.ID)
}
func init() {

View File

@@ -99,10 +99,6 @@ func UploadHandler(w http.ResponseWriter, r *http.Request) {
ff, h, err = r.FormFile("paper")
if err == nil {
defer ff.Close()
if !user.IsFileManager() {
writeresult(w, codeError, nil, "no upload permission", typeError)
return
}
ct := h.Header.Get("Content-Type")
fn := h.Filename
logrus.Infoln("[file.UploadHandler] receive paper, name:", fn)