使用Apache Shiro保护EJB可能吗?

时间:2012-08-06 20:45:53

标签: authorization ejb-3.0 shiro

我想知道我是否可以使用Apache Shiro来保护(容器管理的)Java EE应用程序的业务层。我问,因为我没有找到任何示例,只有“它可以在Web,EJB和IoC环境中工作”等语句。

与默认的基于Java角色的访问控制相比,Apache Shiro有更广泛的方式来授权用户(例如权限字符串),我希望可以使用它作为替代来保护会话bean的方法。基于注释的方式。

这可能并且有人试过吗?有限制吗?一个示例或教程也会很好。

2 个答案:

答案 0 :(得分:2)

好的,我从2010年开始监督Les Hazlewood的that answer

本质是,如果主题可以绑定到当前线程,则会给予对保护EJB的支持。如果请求是从Web环境启动的,则会通过Shiro过滤器自动执行此操作。

他进一步指出:

  

一旦主题与主题相关联,AOP就是最容易的主题之一   实施安全限制的方法。然后你可以注释你的   EJB方法[...]。

答案 1 :(得分:0)

您可以将shiro API用作ejb中的简单java代码。

您也可以使用https://issues.apache.org/jira/browse/SHIRO-337