我正在尝试实现模块化身份验证/授权应用程序。我想知道 Shiro 是否是正确的选择。我想要的是拥有一个我可以插入的系统,也许以后可以交换一些身份验证端点和授权端点。我希望能够使用 shiro 进行身份验证(例如,我将为 shiro 实现 facebook 插件,或为 shiro 实现 ldap 插件,我可以轻松地将其插入我的身份验证/授权应用程序)。我也可能希望使用与 shiro 不同的框架实现授权。
我想知 Prop 有自定义 session 及其主题和领域的 shiro 是否能够像我描述的那样做这些事情? 目前我认为 Shiro 是一个非常动态的框架,它允许做这样的事情,但我可能是错的,因为我以前从未使用过。自定义身份验证模块 (imo) 可能会作为新领域插入,但我不确定这是否适用于授权?
我也不明白当我想对 web 应用程序设置限制时如何使用 shiro 角色和权限系统,例如我想对给定的 url/url 组进行限制。我认为实现它的唯一方法是创建一个自定义映射器,它将给定的角色映射到权限。例如,在某些数据库中,我将拥有所有 url,而在单独的表中,我将拥有角色列表。然后我会为每个角色添加一组 URL。 我不知道如何使用 shiro 权限系统来实现 URL 限制。
请告诉我 shiro 是否是一个不错的选择,或者我应该进入其他框架(也许是 spring security?)
最佳答案
我现在处于你的位置,我必须在 Shiro 和 Spring Security 之间做出选择。
我能够使用这两种工具实现您所描述的内容,但从我目前了解到的情况来看,SS 具有更松散的耦合架构,因此更能满足您的特定需求并且更易于定制。
我的观点背后的一个原因是使用 SS 更容易实现我需要的某些功能,角色的访问策略。
所以在 Shiro、SS、Heras、OACC、OWASP 之间……Shiro 是第二种解决方案,SS 是第一种。
关于java - Apache Shiro 是我的案例的正确选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27282163/