当前位置: 首页 > 知识库问答 >
问题:

Apache Shiro对我的情况来说是正确的选择吗?

全兴运
2023-03-14

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

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

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

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

共有1个答案

刘胜泫
2023-03-14

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

我能够用这两种工具实现您所描述的内容,但到目前为止,我所了解到的是,SS有一个更松散耦合的体系结构,因此更易于扩展到您的特定需求,并且更易于自定义。

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

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

 类似资料:
  • 我知道拥有一个空的类通常是一个设计缺陷,但是在我的情况下,它是否是最好的选择,或者对于这个Scnario来说,什么是最好的设计呢? ClassA是一个空的超类这里是我的代码 ClassB是从ClassA派生的

  • 本文向大家介绍在什么情况下选择webpack?在什么情况下选择rollup?相关面试题,主要包含被问及在什么情况下选择webpack?在什么情况下选择rollup?时的应答技巧和注意事项,需要的朋友参考一下 非要一句话区分的话 如果是用,如果是用其实界限并不是特别明显。在某些特殊情况下可以互用

  • 我的Xpath是正确的 代码:- 这是运行测试用例的chrome窗口的截图:在这里你也可以看到元素是可见的 错误消息图像

  • 为了优化存储,在任何情况下均应使用最精确的类型。例如,如果列的值的范围为从1到99999,若使用整数,则MEDIUMINT UNSIGNED是好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。 用精度为65位十进制数(基于10)对DECIMAL列进行所有基本计算(+、-、*、/)。参见11.1.1节,“数值类型概述”。 使用双精度操作对DECIMAL值进行计算。如果准确度不是太重要或如

  • 校验者: 翻译者: @李孟禹 通常,解决机器学习问题的最困难的部分可能是找到恰当的的评估器(estimator)。 不同的评估器更适合不同类型的数据和不同的问题。 下面的流程图是一些粗略的指导,可以让用户根据自己的数据来选择应该尝试哪些评估器。 点击下图的任何评估器,查看其文档。

  • 这是我的for循环。。。jGRASP说在我的for循环中出现了一个问题,我看不出这个问题,希望能得到一些帮助来修复我的代码。。。 公共类DirectoryLookup{public static void main(String[]args)引发IOException{