当前位置: 首页 > 知识库问答 >
问题:

Dropwizard扩展@Auth接口

郑向阳
2023-03-14

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

例如:

我有一个用户管理员和一个普通用户。两者都可以进行身份验证并到达我的@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个答案

鱼征
2023-03-14

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

我也遇到过类似的情况,所以我最终从dropwizard复制了相关的类,并按照我的意愿进行了修改。我将AuthFilter与OAuthCredentialFilter结合起来,因为我不需要抽象,并且使用我自己的类而不是< code>Authenticator

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

 类似资料:
  • 我正在为chrome和Firefox创建一个web扩展。我已经集成了firebase UI和firebase Auth。谷歌认证在chrome扩展上运行良好。但是在firefox Extension/Add-on上,它给了我以下错误。 null 其他开发人员在为cordova或ionic开发时也面临类似的问题

  • 问题内容: 我试图了解DropWizard中身份验证和授权的工作方式。我已经阅读了他们的身份验证指南以及GitHub上的dropwizard- security 项目,但是觉得我仍然缺少一些重要的概念。 然后在我的子类中: 然后在资源方法中: 我觉得我有这个半正确配置为基本身份验证,但不理解的角色和发挥。特别: 如何从Jersey / JAX-RS客户端设置基本身份验证用户名/密码? 什么作用,并

  • 主要内容:org.springframework.context.ApplicationContextInitializer,org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor,org.springframework.beans.factory.config.BeanFactoryPostProcessor,,,,,,,,,,,,1.可扩展的接口启动调用顺序图 ApplicationConte

  • 主要内容:org.springframework.context.ApplicationContextInitializer,org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor,org.springframework.beans.factory.config.BeanFactoryPostProcessor,,,,,,,,,,,,1.可扩展的接口启动调用顺序图 ApplicationConte

  • 使用dropwizard框架实现了Resful应用程序。我使用dropwizard-auth-jwt对maven包进行身份验证: com.github.toastshaman dropwizard-auth-jwt 1.0.2-0 为了为资源添加身份验证,我实现了sampleAuthenticator,它是使用主体类进行身份验证检查的已实现的身份验证器类。 当MyUser实现主体时: 使用这种配置

  • 问题内容: 我必须实现一个RMI服务器,该服务器将成为其他两个RMI服务的前端。因此,我决定逻辑上要做的是使该接口实现其他两个服务的接口。 但是,StudentServer上有一种方法 我也想抛出一个错误,因为该服务还将在尝试添加详细信息之前验证该书是否确实存在。 这是可能的还是我的设计思想完全被取消了,实际上这是一个糟糕的设计思想,好像其他接口都已更改一样?而且,为里面的所有方法编写方法签名会更