Jakarta ee WebLogic@RolesAllowed混淆

Jakarta ee WebLogic@RolesAllowed混淆,jakarta-ee,weblogic,Jakarta Ee,Weblogic,为什么WebLogic提供自己的WebLogic.jws.security.RolesAllowedcontrajavax.annotation.security.RolesAllowd?WebLogic one似乎已被弃用,但Java EE one并没有按预期工作。WebLogic的@RolesAllowed注释与Java EE的注释在几个重要方面有所不同: 自2014年发布12.1.3以来已被弃用 JavaEE注释的签名是,而WebLogic注释的专有签名是。两者不兼容,因为JDK或Jav

为什么WebLogic提供自己的
WebLogic.jws.security.RolesAllowed
contra
javax.annotation.security.RolesAllowd
?WebLogic one似乎已被弃用,但Java EE one并没有按预期工作。

WebLogic的@RolesAllowed注释与Java EE的注释在几个重要方面有所不同:

  • 自2014年发布12.1.3以来已被弃用
  • JavaEE注释的签名是,而WebLogic注释的专有签名是。两者不兼容,因为JDK或Java EE中没有@SecurityRole注释
  • 的早期版本,仅受支持
然而,随着12.1.3版中WebLogic的@RolesAllowed被弃用,Oracle“包括JAX-RS 2.0、用于JSON处理的Java API、用于WebSocket的Java API和JPA 2.1,以支持此类应用程序的开发”

因此,如果您使用的是WebLogic 12.1.3或更高版本,您应该只使用Java EE的@RolesAllowed实现

至于为什么在这两种环境中都存在相同的注释名称,可能是因为BEA Systems(WebLogic的原始创建者)为规范提供了输入,Java EE的@RolesAllowed就是出于此,但这只是我的猜测


您还提到“JavaEEOne没有按预期工作”,但没有提供任何细节;如果合适,为该问题创建一个单独的问题。

Weblogic的@RolesAllowed注释与Java EE的注释在几个重要方面有所不同:

  • 自2014年发布12.1.3以来已被弃用
  • JavaEE注释的签名是,而WebLogic注释的专有签名是。两者不兼容,因为JDK或Java EE中没有@SecurityRole注释
  • 的早期版本,仅受支持
然而,随着12.1.3版中WebLogic的@RolesAllowed被弃用,Oracle“包括JAX-RS 2.0、用于JSON处理的Java API、用于WebSocket的Java API和JPA 2.1,以支持此类应用程序的开发”

因此,如果您使用的是WebLogic 12.1.3或更高版本,您应该只使用Java EE的@RolesAllowed实现

至于为什么在这两种环境中都存在相同的注释名称,可能是因为BEA Systems(WebLogic的原始创建者)为规范提供了输入,Java EE的@RolesAllowed就是出于此,但这只是我的猜测

您还提到“JavaEEOne没有按预期工作”,但没有提供任何细节;如果合适,为该问题创建一个单独的问题