From 45760def3866d38d2a874bf80da55fa1b78c2f75 Mon Sep 17 00:00:00 2001 From: Dragomir Todorov Date: Tue, 29 Jan 2019 16:12:54 +0200 Subject: [PATCH] Add missed interceptor check --- .../account/permissions/PermissionsInterceptor.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/account/permissions/PermissionsInterceptor.java b/src/main/java/biz/nynja/account/permissions/PermissionsInterceptor.java index 807dd02..9b731b2 100644 --- a/src/main/java/biz/nynja/account/permissions/PermissionsInterceptor.java +++ b/src/main/java/biz/nynja/account/permissions/PermissionsInterceptor.java @@ -21,6 +21,7 @@ import com.auth0.jwt.interfaces.DecodedJWT; import biz.nynja.account.accesspoints.AccessPoint; import biz.nynja.account.accesspoints.AccessPointService; +import biz.nynja.account.grid.ag.AdminServiceImpl; import biz.nynja.account.services.AccountServiceImpl; import io.grpc.Context; import io.grpc.Contexts; @@ -49,6 +50,7 @@ public class PermissionsInterceptor implements ServerInterceptor { private static final Logger logger = LoggerFactory.getLogger(PermissionsInterceptor.class); private static final Class SERVICE_CLASS = AccountServiceImpl.class; + private static final Class ADMIN_SERVICE_CLASS = AdminServiceImpl.class; public static final Metadata.Key ACCESS_TOKEN_METADATA = Metadata.Key.of("Authorization", ASCII_STRING_MARSHALLER); @@ -141,12 +143,20 @@ public class PermissionsInterceptor implements ServerInterceptor { private Method getMethod(String rpc) { // Get the rpc method called Method[] allMethods = SERVICE_CLASS.getDeclaredMethods(); - + Method[] adminMethods = ADMIN_SERVICE_CLASS.getDeclaredMethods(); + for (Method method : allMethods) { if (method.getName().equals(rpc)) { return method; } } + + for (Method method : adminMethods) { + if (method.getName().equals(rpc)) { + return method; + } + } + return null; } -- GitLab