mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-05 23:46:56 +00:00
* feat: add auth checker interface Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * tests Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --------- Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
18 lines
419 B
Go
18 lines
419 B
Go
package checker
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
func Check(ctx context.Context, checker AuthChecker, group, version, resource, subresource, namespace string, verbs ...string) (bool, error) {
|
|
for _, verb := range verbs {
|
|
result, err := checker.Check(ctx, group, version, resource, subresource, namespace, verb)
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
if !result.Allowed {
|
|
return false, nil
|
|
}
|
|
}
|
|
return true, nil
|
|
}
|