diff --git a/src/main/java/biz/nynja/account/permissions/PermissionsInterceptor.java b/src/main/java/biz/nynja/account/permissions/PermissionsInterceptor.java index 807dd0232efc834851025369175d29ecc9ec2490..9b731b258f1ff891383ab94247b8a153d24dfbb4 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; }