2

我有一个 Java EE 应用程序(简单的 Web GUI、一个大型 EJB 3 业务层、JPA),其大部分功能取决于当前登录的用户。

String userName正因为如此,EJB 被无所不在的参数所感染。您几乎找不到没有它的重要方法,并且它一直下降到最基本的 EJB。有时它由其他与会话相关的参数补充,例如用户的区域设置。

结果,参数列表增长并且代码清晰度受到影响。这可能是一个普遍的问题,如何避免呢?将更多代码推送到 GUI 客户端似乎是更疯狂的想法。

4

1 回答 1

1

Java EE 支持跨各个层的安全上下文传播。例如,检查 EJBContext 上与身份验证/授权相关的各种方法,例如getCallerPrincipal()isCallerInRole(). 我建议你阅读以下两篇文章

  1. 端到端安全性的高级介绍
  2. Java EE 平台中的安全性简介
于 2012-01-28T04:05:03.083 回答