mirror of
https://github.com/go-gitea/gitea.git
synced 2025-05-05 15:10:50 +02:00
permission check
This commit is contained in:
parent
fdd3c0434e
commit
324d6711da
@ -199,7 +199,12 @@ func repoAssignment() func(ctx *context.APIContext) {
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Repo.Permission.AccessMode = perm_model.AccessModeAdmin
|
||||
if task.IsForkPullRequest {
|
||||
ctx.Repo.Permission.AccessMode = perm_model.AccessModeRead
|
||||
} else {
|
||||
ctx.Repo.Permission.AccessMode = perm_model.AccessModeWrite
|
||||
}
|
||||
|
||||
if err := ctx.Repo.Repository.LoadUnits(ctx); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "LoadUnits", err)
|
||||
return
|
||||
|
@ -199,12 +199,25 @@ func httpBase(ctx *context.Context) (h *serviceHandler) {
|
||||
ctx.PlainText(http.StatusForbidden, "User permission denied")
|
||||
return
|
||||
}
|
||||
|
||||
if task.IsForkPullRequest {
|
||||
if accessMode > perm.AccessModeRead {
|
||||
ctx.PlainText(http.StatusForbidden, "User permission denied")
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if accessMode > perm.AccessModeWrite {
|
||||
ctx.PlainText(http.StatusForbidden, "User permission denied")
|
||||
return
|
||||
}
|
||||
}
|
||||
} else {
|
||||
p, err := access_model.GetUserRepoPermission(ctx, repo, ctx.Doer)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetUserRepoPermission", err)
|
||||
return
|
||||
}
|
||||
|
||||
if !p.CanAccess(accessMode, unitType) {
|
||||
ctx.PlainText(http.StatusForbidden, "User permission denied")
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user