gpt4 book ai didi

java - 我可以从客户端检测当前用户有权使用哪些 EJB 吗?

转载 作者:行者123 更新时间:2023-12-01 16:12:11 25 4
gpt4 key购买 nike

我在 J2EE 服务器上有各种 EJB,具有不同的安全角色。

现在,在 Java Swing 客户端应用程序中,当我将用户登录到服务器时,我想发现用户可以访问哪些 EJB,而无需实际尝试创建或调用它们。

我想要这样做的原因是根据可用的 EJB 来调整用户界面。

例如,如果当前用户可以使用“AdministerMetadata”EJB,我想显示一个用于管理元数据等的菜单选项。

我可以接受从客户端内已知 EJB 的预定义列表进行查询,因此我不需要它完全动态。

我不想创建一个特殊的 EJB 来仅返回此访问信息,并且我希望避免必须尝试调用方法并捕获异常来进行发现。

我计划在 JBoss 上使用该解决方案,但如果可能的话更喜欢标准解决方案。

这可能吗?如果是这样怎么办?

最佳答案

据我所知,J2EE 中没有任何内容可以在客户端为您提供此信息。即使在服务器端EJBContext只会为您提供调用者拥有的角色以及调用者的主体(例如登录名)。

我认为除了拥有一个额外的 session Bean 之外别无他法,您可以在客户端查询该 session Bean,并检查服务器端的 EJBContext 以告诉客户端当前用户拥有哪些角色。

关于java - 我可以从客户端检测当前用户有权使用哪些 EJB 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/706856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com