summaryrefslogtreecommitdiffstats
path: root/base/server/cms
diff options
context:
space:
mode:
authorFraser Tweedale <ftweedal@redhat.com>2016-01-14 16:13:26 +1100
committerFraser Tweedale <ftweedal@redhat.com>2016-02-15 14:38:06 +1000
commitae975289fcd669e122589cfd1a7c82e0b28f733e (patch)
tree97a15170931f2e21216c3f053604e1f882cdc55d /base/server/cms
parentf6177fede9d1b688f0519953ec14839d513a6e2c (diff)
downloadpki-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.java5
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));
}