r3912 - in trunk: pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity pollen-rest-api/src/main/java/org/chorem/pollen/rest/api pollen-services/src/main/java/org/chorem/pollen/services/service/security
Author: tchemit Date: 2014-05-05 11:43:49 +0200 (Mon, 05 May 2014) New Revision: 3912 Url: http://forge.chorem.org/projects/pollen/repository/revisions/3912 Log: fix security permission Added: trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipalTopiaDao.java Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java Added: trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipalTopiaDao.java =================================================================== --- trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipalTopiaDao.java (rev 0) +++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipalTopiaDao.java 2014-05-05 09:43:49 UTC (rev 3912) @@ -0,0 +1,11 @@ +package org.chorem.pollen.persistence.entity; + +public class PollenPrincipalTopiaDao extends AbstractPollenPrincipalTopiaDao<PollenPrincipal> { + + public PollenPrincipal findByPermissionToken(String permissionToken) { + + PollenPrincipal principal = forEquals(PollenPrincipal.PROPERTY_PERMISSION + "." + PollenToken.PROPERTY_TOKEN, permissionToken).findUnique(); + return principal; + + } +} Property changes on: trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipalTopiaDao.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java =================================================================== --- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-05 09:38:12 UTC (rev 3911) +++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-05 09:43:49 UTC (rev 3912) @@ -124,7 +124,7 @@ Map<String, String[]> parameters = httpContext.getParameters(); String[] strings = parameters.get(REQUEST_PERMISSION_PARAMETER); String credentialParam = strings == null || strings.length < 1 ? null : strings[0]; - PollenPrincipal mainPrincipal = securityService.getPollenPrincipalById(credentialParam); + PollenPrincipal mainPrincipal = securityService.getPollenPrincipalByPermissionToken(credentialParam); // --- create security context --- // PollenSecurityContext securityContext = Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java 2014-05-05 09:38:12 UTC (rev 3911) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java 2014-05-05 09:43:49 UTC (rev 3912) @@ -26,6 +26,7 @@ import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import com.google.common.collect.Sets; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.shiro.authc.AuthenticationException; @@ -141,11 +142,11 @@ } - public PollenPrincipal getPollenPrincipalById(String principalId) { + public PollenPrincipal getPollenPrincipalByPermissionToken(String principalId) { PollenPrincipal principal = null; if (principalId != null) { - principal = getPollenPrincipalDao().findByTopiaId(principalId); + principal = getPollenPrincipalDao().findByPermissionToken(principalId); } return principal; @@ -239,7 +240,11 @@ // Create Subject SimplePrincipalCollection principalCollection = new SimplePrincipalCollection(); - principalCollection.addAll(permissions, PollenSecurityRealm.REALM_NAME); + + if (CollectionUtils.isNotEmpty(permissions)) { + principalCollection.addAll(permissions, PollenSecurityRealm.REALM_NAME); + } + subject = new Subject. Builder(). authenticated(securityContext.isConnected()).
participants (1)
-
tchemit@users.chorem.org