我想知道我是否可以使用 Apache Shiro 来保护(容器管理的)Java EE 应用程序的业务层。我之所以问,是因为我没有找到任何示例,而只有诸如“它适用于 Web、EJB 和 IoC 环境”之类的陈述。
Apache Shiro,与默认的 Java 基于角色的访问控制相比,缝合了更广泛的方式来授权用户(例如权限字符串),我希望可以使用它作为替代来保护基于注释的 session bean 的方法方式。
这可能吗,有人试过吗?有限制吗?一个例子或教程也会很好。
最佳答案
好的,我监督了that answer来自 2010 年的 Les Hazlewood。
本质是,如果主题可以绑定(bind)到当前线程,则提供对保护 EJB 的支持。如果请求是从 Web 环境发起的,这会通过 Shiro 过滤器自动发生。
他进一步指出:
Once the Subject is associated with a thread, AOP is one of easiest ways of enforcing security restrictions. Then you can annotate your EJB methods [...].
关于authorization - 可以使用 Apache Shiro 保护 EJB 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11835687/