1

有人知道我可以如何扩展 dropwizard 界面吗?现在它只有所需的选项,但我需要为 anooteted 方法添加权限。

例如:

我有一个用户管理员和一个普通用户。两者都可以进行身份​​验证并访问我的 @auth 注释资源。但我想只允许管理员使用一些(不是全部)http 方法请求,而不允许普通用户使用。我怎么能在资源之外做到这一点?就像是

@Auth(required = true, right="admin", httpMethod="POST") User user)
@Auth(required = true, right="normalUser", httpMethod="GET") User user)
@Auth(required = true, right="masterOfTheuniverse",  httpMethod="*") User user)
4

1 回答 1

1

由于 Java 不支持注解继承;你不能。

我有一个类似的案例,所以我最终从 dropwizard 复制了相关的类,并按照我的意愿进行了修改。我已经将AuthFilterOAuthCredentialFilter结合起来,因为我不需要抽象,并使用我自己的类而不是Authenticator<C,P>.

注意:我刚刚意识到,他们已经为下一个版本重写了@Auth 逻辑RequestFilters,它看起来更灵活并且可以满足您的需求(我也可能只是迁移到那个版本)。当前版本 (0.8.x) 使用Factorys,您可以在Java8 implementation中找到它。还有不再在 master 分支中的Auth 注释。

于 2015-04-20T08:48:30.713 回答