我需要构建应用程序的安全功能(AuthZ)。
这里有一些上下文可以说明需求。使用DropWizard在Jetty中托管的应用程序。应用操作由以下因素触发: -REST请求; -WS请求; -gRPC请求; -一些计划工作。
我想要基于证书,用户ID,服务ID等具有相关权限的一堆不同的身份。一些下游服务调用需要是具有原始请求者身份的AuthN / AuthZ。
理想的实现方式完全不应该向开发人员征税。具有所需权限的操作注释可以。
最终的问题是我应该从javax.security.auth和java.security包中扩展AccessControlContext,Subject,Principal等。 还是应该建立自己的Context,Principal,Identity并传递给他们?
如果AccessControlContext的扩展是可行的并且不是很繁琐,那么对这个主题有什么好的了解?
免责声明:我是Java的新手,来自微软。