From cb209df95c4dee11f2a912e20b417fa3bc41c88f Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Wed, 10 Oct 2012 04:38:05 -0500 Subject: Added ACLInterceptor. Previously ACL checking was done in PKIRealm by matching the URL. This code has been replaced by ACLInterceptor which will intercept RESTEasy method invocations. This allows more precise mapping of REST methods to ACL entries in acl.ldif. Ticket #287 --- base/kra/shared/webapps/kra/WEB-INF/auth.properties | 16 ++++++++-------- .../netscape/kra/KeyRecoveryAuthorityApplication.java | 3 +++ 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'base/kra') diff --git a/base/kra/shared/webapps/kra/WEB-INF/auth.properties b/base/kra/shared/webapps/kra/WEB-INF/auth.properties index 0a529f060..567747f5b 100644 --- a/base/kra/shared/webapps/kra/WEB-INF/auth.properties +++ b/base/kra/shared/webapps/kra/WEB-INF/auth.properties @@ -1,12 +1,12 @@ # Restful API auth/authz mapping info # # Format: -# = , -# ex: /kra/pki/key/retrieve = certServer.kra.pki.key.retrieve,execute +# = , +# ex: admin.users = certServer.ca.users,read -/kra/rest/account/login = certServer.kra.account,login -/kra/rest/account/logout = certServer.kra.account,logout -/kra/rest/admin/users = certServer.kra.users,execute -/kra/rest/admin/groups = certServer.kra.groups,execute -/kra/rest/agent/keys = certServer.kra.keys,execute -/kra/rest/agent/keyrequests = certServer.kra.keyrequests,execute +account.login = certServer.kra.account,login +account.logout = certServer.kra.account,logout +admin.users = certServer.kra.users,execute +admin.groups = certServer.kra.groups,execute +agent.keys = certServer.kra.keys,execute +agent.keyrequests = certServer.kra.keyrequests,execute diff --git a/base/kra/src/com/netscape/kra/KeyRecoveryAuthorityApplication.java b/base/kra/src/com/netscape/kra/KeyRecoveryAuthorityApplication.java index 280ffe1dc..0ed23f697 100644 --- a/base/kra/src/com/netscape/kra/KeyRecoveryAuthorityApplication.java +++ b/base/kra/src/com/netscape/kra/KeyRecoveryAuthorityApplication.java @@ -5,6 +5,7 @@ import java.util.Set; import javax.ws.rs.core.Application; +import com.netscape.certsrv.acls.ACLInterceptor; import com.netscape.certsrv.base.PKIException; import com.netscape.cms.servlet.account.AccountService; import com.netscape.cms.servlet.admin.GroupMemberService; @@ -45,6 +46,8 @@ public class KeyRecoveryAuthorityApplication extends Application { // exception mapper classes.add(PKIException.Mapper.class); + // ACL interceptor + singletons.add(new ACLInterceptor()); } public Set> getClasses() { -- cgit