Apache Shiro是我的正确选择吗?

时间:2014-12-03 21:37:59

标签: java authentication authorization shiro

我正在尝试实施模块化身份验证/授权应用。我想知道Shiro是否是正确的选择。我想要的是拥有一个我可以插入的系统,并可能在以后的时间交换一些身份验证端点和授权端点。我希望能够使用shiro进行身份验证(例如,我将为shiro实施facebook插件,或者为shiro实施ldap插件,我可以轻松地将其插入我的身份验证/授权应用程序)。我也可能希望使用与shiro不同的框架来实现授权。

我想知道是否shiro与它的自定义会话,它的主题和领域是否能够做我描述的事情? 目前我认为Shiro是一个非常动态的框架,允许做这样的事情,但我可能错了,因为我从来没有使用过。自定义身份验证模块(imo)可能会作为新领域插入,但我不确定这是否适用于授权?

当我想对Web应用程序设置限制时,我也不明白如何使用shiro角色和权限系统,例如我想对给定的url / url组进行限制。我认为实现这一点的唯一方法是创建一个自定义映射器,它将给定角色映射到权限。例如,在某些数据库中,我将拥有所有URL,在单独的表中,我将包含角色列表。然后我将为每个角色添加一组URL。 我不知道如何使用shiro权限系统来实施URL限制。

请告诉我,如果shiro是一个不错的选择,或者我应该进入其他框架(春季安全可能吗?)

1 个答案:

答案 0 :(得分:3)

我现在发现自己处于你的位置,我必须在Shiro和Spring Security之间做出选择。

我能够用两种工具实现你所描述的内容,但是到目前为止我所学到的是SS具有更松散的耦合架构,因此可以根据您的特定需求进行扩展,并且更易于定制。

我的观点背后的一个原因是,使用SS,实现我需要的某些功能,角色的访问策略更容易。

所以Shiro,SS,Heras,OACC,OWASP ...... Shiro是第二个解决方案,SS将是第一个。