带有过滤器的jax-rs或条件@provider

时间:2017-08-21 12:26:33

标签: java rest jax-rs jersey-2.0

我是在这种情况下搜索医生而且在这里我还没有找到答案。

我有一个Jersey 2网络API,我有3个标记为@Provider的过滤器:第一个用于身份验证,效果很好;第二个和第三个是为特定类型的用户标记端点,因此我有@Admin@User区分哪个操作可以执行管理,哪个可以执行普通用户。

我选择了这种方法(检查带过滤器的用户类型)让端点清除,其上唯一的代码就是它需要做的操作。

所以问题是,如果我用@Admin@User标记方法(或类),Jersey会执行两个过滤器,但它们之间存在冲突,因为@Admin让只有当你是普通用户时才进行操作@Admin@User只允许你执行操作(因此无论第一个过滤器将被执行,假设是{{1} },如果我是普通用户,并尝试访问该方法,我就可以了。

我不能同时留下这两个注释,因为我可以让第三种用户无法访问该端点,所以我的问题是:是否可以输入OR条件两个过滤器?所以在我写的示例之前,我的想法是两个过滤器都被执行但是如果有人告诉我我已经过身份验证,我可以访问该端点,如果两者都失败了,那么我就无法使用该端点。 / p>

感谢所有人都回答这个问题!

0 个答案:

没有答案