diff options
author | Fraser Tweedale <ftweedal@redhat.com> | 2016-01-14 16:13:26 +1100 |
---|---|---|
committer | Fraser Tweedale <ftweedal@redhat.com> | 2016-02-15 14:38:06 +1000 |
commit | ae975289fcd669e122589cfd1a7c82e0b28f733e (patch) | |
tree | 97a15170931f2e21216c3f053604e1f882cdc55d /base/server/cms | |
parent | f6177fede9d1b688f0519953ec14839d513a6e2c (diff) | |
download | pki-ae975289fcd669e122589cfd1a7c82e0b28f733e.tar.gz pki-ae975289fcd669e122589cfd1a7c82e0b28f733e.tar.xz pki-ae975289fcd669e122589cfd1a7c82e0b28f733e.zip |
Weaken PKIPrincipal to superclass in several places
In several places we are casting a `Principal' to `PKIPrincpal',
when `GenericPrincpal' or even no cast will suffice. In upcoming
external authentication support externally authenticated principals
will not be instances of `PKIPrincipal', so weaken assumptions about
type of the principal where possible.
Part of: https://fedorahosted.org/pki/ticket/1359
Diffstat (limited to 'base/server/cms')
-rw-r--r-- | base/server/cms/src/org/dogtagpki/server/rest/AccountService.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/AccountService.java b/base/server/cms/src/org/dogtagpki/server/rest/AccountService.java index 4e8e6e6f8..827e99e07 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/AccountService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/AccountService.java @@ -29,6 +29,7 @@ import javax.ws.rs.core.Request; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; +import org.apache.catalina.realm.GenericPrincipal; import org.apache.commons.lang.StringUtils; import com.netscape.certsrv.account.AccountInfo; @@ -75,8 +76,10 @@ public class AccountService extends PKIService implements AccountResource { String email = user.getEmail(); if (!StringUtils.isEmpty(email)) response.setEmail(email); + } - String[] roles = pkiPrincipal.getRoles(); + if (principal instanceof GenericPrincipal) { + String[] roles = ((GenericPrincipal) principal).getRoles(); response.setRoles(Arrays.asList(roles)); } |