通过配置xml或者注解的方式来使用dubbo的filter

本文详细介绍了在Dubbo框架中实现权限验证的方法,包括使用Filter接口的两种配置方式:注解@Activate和XML配置。并通过实例展示了如何正确设置Filter,避免常见的配置错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在研究dubbo的权限验证功能,这里要用到dubbo的filter,于是在网上查询有关资料,但各种版本的都有,遇到很多坑,

比如通过注解@Activate的方式来实现激活条件和时机(下面这段表示如果方法是服务提供者,就会先激活filter,等执行完filter以后才执行后面被调用的服务方法)

@Activate(group = "provider")
public class TestDubboFilter implements Filter {

	@Override
	public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
		System.out.println("TestDubboFilter1111111");
		Result result = null;
		result = invoker.invoke(invocation);
		return result;
	}

}

或者通过配置xml的方式

<dubbo:provider filter="testDubboFilter"></dubbo:provider>

其实这2中方式只要配一种就行了,不需要2种都配,有些文章不知道哪里抄来的,竟然同时用了注解和xml配置的方式,把我带进了坑里。

最后,我总结一下dubbo用filter的几个关键步骤

1.写一个实现类继承Filter接口

2.在这个类上面写上注解@Activate(参数可以根据业务来自己定义)

3.在src/main/resources/METE-INF/dubbo/目录下添加一个文件,文件名是com.alibaba.dubbo.rpc.Filter,这个是固定写法,dubbo框架会到这个目录里查找这个文件的,这个文件里把刚才那个实现类的包名加类名写进去,比如

testDubboFilter=com.test.filter.TestDubboFilter

4.在启动类里面别忘记扫描这个类的目录@EnableDubbo(scanBasePackages = "com.test.filter")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值