diff options
author | Morten Tokle <mortent@oath.com> | 2019-04-04 15:00:51 +0200 |
---|---|---|
committer | Morten Tokle <mortent@oath.com> | 2019-04-04 15:00:51 +0200 |
commit | 37cacaa4b1944fc4faf814d19bd01225557aa7ab (patch) | |
tree | 23a160d3bb478d1de2580d8e478df59a6b981e1f /controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java | |
parent | 3e879db9b073b48a2c22c0737c3077915c6207ed (diff) |
Introduce SecurityContext
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java new file mode 100644 index 00000000000..1ad98e761f5 --- /dev/null +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java @@ -0,0 +1,48 @@ +// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.controller.api.role; + +import java.security.Principal; +import java.util.Objects; + +public class SecurityContext { + + public static final String ATTRIBUTE_NAME = SecurityContext.class.getName(); + + private final Principal principal; + private final RoleMembership roles; + + public SecurityContext(Principal principal, RoleMembership roles) { + this.principal = principal; + this.roles = roles; + } + + public Principal principal() { + return principal; + } + + public RoleMembership roles() { + return roles; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SecurityContext that = (SecurityContext) o; + return Objects.equals(principal, that.principal) && + Objects.equals(roles, that.roles); + } + + @Override + public int hashCode() { + return Objects.hash(principal, roles); + } + + @Override + public String toString() { + return "SecurityContext{" + + "principal=" + principal + + ", roles=" + roles + + '}'; + } +} |