fix: show an error banner if the user does not have permission to view the audit page (#16637)

This commit is contained in:
brettkolodny
2025-02-20 09:56:57 -05:00
committed by GitHub
parent f670559a5d
commit 54b09d9878
2 changed files with 28 additions and 0 deletions

View File

@ -930,6 +930,25 @@ func New(options *Options) *API {
r.Route("/audit", func(r chi.Router) {
r.Use(
apiKeyMiddleware,
// This middleware only checks the site and orgs for the audit_log read
// permission.
// In the future if it makes sense to have this permission on the user as
// well we will need to update this middleware to include that check.
func(next http.Handler) http.Handler {
return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
if api.Authorize(r, policy.ActionRead, rbac.ResourceAuditLog) {
next.ServeHTTP(rw, r)
return
}
if api.Authorize(r, policy.ActionRead, rbac.ResourceAuditLog.AnyOrganization()) {
next.ServeHTTP(rw, r)
return
}
httpapi.Forbidden(rw)
})
},
)
r.Get("/", api.auditLogs)