Class ServerStoreAclHandler

  • All Implemented Interfaces:

    public class ServerStoreAclHandler
    extends StoreAclHandler
    Together with ServerAclHandler, Server will allow two kinds of access pattern: 1. Access from Router, and Router request will be validated in ServerAclHandler, and ServerStoreAclHandler will be a quick pass-through. 2. Access from Client directly, and ServerAclHandler will deny the request, and ServerStoreAclHandler will validate the request in store-level, which is exactly same as the access control behavior in Router. If both of them fail, the request will be rejected.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void channelRead0​( ctx, io.netty.handler.codec.http.HttpRequest req)
      Verify if client has permission to access.
      protected static boolean checkWhetherAccessHasAlreadyApproved​(io.grpc.Metadata headers)  
      protected static boolean checkWhetherAccessHasAlreadyApproved​( ctx)  
      protected java.lang.String extractStoreName​(java.lang.String resourceName)
      In Venice Server, the resource name is actually a Kafka topic name.
      interceptCall​(io.grpc.ServerCall<ReqT,​RespT> call, io.grpc.Metadata headers, io.grpc.ServerCallHandler<ReqT,​RespT> next)  
      • Methods inherited from class

        acceptInboundMessage, channelRead
      • Methods inherited from class

        channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
      • Methods inherited from class

        ensureNotSharable, handlerAdded, handlerRemoved, isSharable
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface

        handlerAdded, handlerRemoved
    • Method Detail

      • channelRead0

        public void channelRead0​( ctx,
                                 io.netty.handler.codec.http.HttpRequest req)
        Description copied from class: StoreAclHandler
        Verify if client has permission to access.
        channelRead0 in class StoreAclHandler
      • interceptCall

        public <ReqT,​RespT> io.grpc.ServerCall.Listener<ReqT> interceptCall​(io.grpc.ServerCall<ReqT,​RespT> call,
                                                                                  io.grpc.Metadata headers,
                                                                                  io.grpc.ServerCallHandler<ReqT,​RespT> next)
        Specified by:
        interceptCall in interface io.grpc.ServerInterceptor
        interceptCall in class StoreAclHandler
      • extractStoreName

        protected java.lang.String extractStoreName​(java.lang.String resourceName)
        In Venice Server, the resource name is actually a Kafka topic name.
        extractStoreName in class StoreAclHandler
      • checkWhetherAccessHasAlreadyApproved

        protected static boolean checkWhetherAccessHasAlreadyApproved​( ctx)
      • checkWhetherAccessHasAlreadyApproved

        protected static boolean checkWhetherAccessHasAlreadyApproved​(io.grpc.Metadata headers)