Class ServerStoreAclHandler

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.SimpleChannelInboundHandler<io.netty.handler.codec.http.HttpRequest>
com.linkedin.venice.acl.handler.AbstractStoreAclHandler<QueryAction>
com.linkedin.venice.listener.ServerStoreAclHandler
All Implemented Interfaces:
io.grpc.ServerInterceptor, io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

public class ServerStoreAclHandler extends AbstractStoreAclHandler<QueryAction> implements io.grpc.ServerInterceptor
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.