fswhq

最近公司有业务需求,要对Dubbo接口调用者进行身份验证,验证通过才能调用,网上一些资料不够全面,遂整理了一下.

provider方定义一个filter,需要实现com.alibaba.dubbo.rpc.Filter(需要引入com.alibaba.dubbo依赖):

public class AuthorizationFilter implements Filter {

    @Override

    public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {

        String token = invocation.getAttachment("token");

        if("123456".equals(token)){

            return invoker.invoke(invocation);

        }

        return null;

    }

}

resources目录META-INF/dubbo下新建text文件com.alibaba.dubbo.rpc.Filter,内容如下:

AuthorizationFilter = com.xxx.AuthorizationFilter

修改dubboprovider配置文件,添加如下:

<dubbo:provider filter="AuthorizationFilter" />  

在consumer方采用隐式传参:RpcContext.getContext().setAttachment("token","123456");

相关文章:

  • 2022-12-23
  • 2021-07-02
  • 2022-02-16
  • 2021-12-05
  • 2021-05-23
  • 2021-07-09
  • 2022-02-14
猜你喜欢
  • 2018-11-21
  • 2022-12-23
  • 2019-11-03
  • 2021-06-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案