Dropwizard扩展@Auth接口

时间:2015-04-16 11:27:25

标签: authentication dropwizard access-rights

有人知道如何扩展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)

1 个答案:

答案 0 :(得分:1)

Java不支持注释继承;你不能。

我有一个类似的案例,所以我最终从dropwizard复制相关的类并按我的意愿修改。我已将AuthFilterOAuthCredentialFilter合并,因为我不需要抽象,而是使用我自己的班级代替Authenticator<C,P>

注意:我刚刚意识到,他们使用RequestFilters rewritten @Auth逻辑用于下一个版本,它看起来更灵活,可以满足您的需求(我可能也会迁移到那里)。当前版本(0.8.x)使用​​Factory s,您可以在Java8 implementation找到它。还有Auth annotation不再在主分支中。