我想知道我是否可以使用 Apache Shiro 来保护(容器管理的)Java EE 应用程序的业务层。我之所以问,是因为我没有找到任何示例,而只有诸如“它适用于 Web、EJB 和 IoC 环境”之类的陈述。
Apache Shiro,与默认的 Java 基于角色的访问控制相比,缝合了更广泛的方式来授权用户(例如权限字符串),我希望可以使用它作为替代来保护基于注释的会话 bean 的方法方式。
这可能吗,有人试过吗?有限制吗?一个例子或教程也会很好。
我想知道我是否可以使用 Apache Shiro 来保护(容器管理的)Java EE 应用程序的业务层。我之所以问,是因为我没有找到任何示例,而只有诸如“它适用于 Web、EJB 和 IoC 环境”之类的陈述。
Apache Shiro,与默认的 Java 基于角色的访问控制相比,缝合了更广泛的方式来授权用户(例如权限字符串),我希望可以使用它作为替代来保护基于注释的会话 bean 的方法方式。
这可能吗,有人试过吗?有限制吗?一个例子或教程也会很好。
好的,我从 2010 年开始监督 Les Hazlewood 的回答。
本质是,如果主题可以绑定到当前线程,则提供对保护 EJB 的支持。如果请求是从 Web 环境发起的,这会通过 Shiro 过滤器自动发生。
他进一步指出:
一旦 Subject 与线程相关联,AOP 就是执行安全限制的最简单方法之一。然后您可以注释您的 EJB 方法 [...]。
您可以将 shiro API 用作 ejb 中的简单 java 代码。