【问题标题】:Is Apache Shiro correct choice for my case?Apache Shiro 是否适合我的情况?
【发布时间】:2015-02-01 15:10:39
【问题描述】:

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

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

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

请告诉我 shiro 是否是一个不错的选择,或者我应该进入其他框架(也许是 spring security?)

【问题讨论】:

    标签: java authentication authorization shiro


    【解决方案1】:

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

    我能够使用这两种工具来实现您所描述的内容,但从我目前了解到的情况来看,SS 具有更松散耦合的架构,因此更可扩展以满足您的特定需求并且更易于定制。

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

    所以在 Shiro、SS、Heras、OACC、OWASP 之间...... Shiro 是第二种解决方案,而 SS 将是第一种。

    【讨论】:

    • 感谢您的回答。我已经选择了Shiro,所以我希望它会足够好。 shiro 还有一个 coll 特性——分布式会话。 SS 没有(据我所知),所以这是我在 Shiro 之后的主要论点。
    猜你喜欢
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多