package org.dromara.common.mybatis.filter; import org.dromara.common.mybatis.helper.DataPermissionHelper; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.constants.CommonConstants; import org.apache.dubbo.common.extension.Activate; import org.apache.dubbo.rpc.*; import java.util.Map; /** * dubbo 数据权限参数传递 * * @author Lion Li */ @Slf4j @Activate(group = {CommonConstants.CONSUMER}) public class DubboDataPermissionFilter implements Filter { @Override public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { RpcServiceContext context = RpcContext.getServiceContext(); Map dataPermissionContext = DataPermissionHelper.getContext(); context.setObjectAttachment(DataPermissionHelper.DATA_PERMISSION_KEY, dataPermissionContext); return invoker.invoke(invocation); } }