diff --git a/http/data.go b/http/data.go index ad0b5b1b..8fdff7be 100644 --- a/http/data.go +++ b/http/data.go @@ -26,19 +26,20 @@ type data struct { // Check implements rules.Checker. func (d *data) Check(path string) bool { - for _, rule := range d.user.Rules { - if rule.Matches(path) { - return rule.Allow - } - } - + allow := true for _, rule := range d.settings.Rules { if rule.Matches(path) { - return rule.Allow + allow = rule.Allow } } - return true + for _, rule := range d.user.Rules { + if rule.Matches(path) { + allow = rule.Allow + } + } + + return allow } func handle(fn handleFunc, prefix string, store *storage.Storage, server *settings.Server) http.Handler {