diff --git a/services/context/permission.go b/services/context/permission.go index f0650e057c..22a82a777f 100644 --- a/services/context/permission.go +++ b/services/context/permission.go @@ -78,6 +78,10 @@ func RequireUnitWriter(unitTypes ...unit.Type) func(ctx *Context) { // RequireUnitReader returns a middleware for requiring repository write to one of the unit permission func RequireUnitReader(unitTypes ...unit.Type) func(ctx *Context) { return func(ctx *Context) { + // Licensed read-only mode grants read access to all units. + if ctx.Data["LicensedReadOnly"] == true { + return + } for _, unitType := range unitTypes { if ctx.Repo.Permission.CanRead(unitType) { return