@Ressource SessionContext如何正确使用?

How use @Ressource SessionContext right?

我需要一个用于使用 JAAS 注入 @Ressource SessionContext ctx 的 bean。 使用 SessionContext 我可以检查有关 ctx.isCallerInRole("ROLE");

的用户权限

但是正确的 Bean 声明是什么? @Statful? @无国籍?和@SessionScope? 我需要为每个用户创建一个实例。

With the SessionContext can I check the user rights about ctx.isCallerInRole("ROLE")?

是的,你可以。

But what is the right Bean declaration? @Statful? @Stateless? and @SessionScope?

EJB 没有 @SessionScope。您可以在 @Statful/@Stateless bean 中注入 SessionContext。这取决于你需要什么。通常,只要会话存在,用户实例就必须存在。 EJB 没有会话作用域的 bean,因此它经常与 CDI 混合使用(在此处阅读更多 CDI + EJB) or other session-scoped beans like Managed beans