问题标签 [shiro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2226 浏览

java - Apache shiro 隐含权限

如果用户具有权限user:edit:1并且我正在使用注释驱动@RequiresPermissions("user:edit"),为什么 shiro 会抛出异常?他们拥有的事实不应该暗示这种许可user:edit:1吗?如果我把@RequriesPermissions("user:edit:1")它工作正常,但在操作的上下文中我不知道 1 是什么,所以稍后将在方法中检查,但如果他们不这样做,我想完全避免进入该方法完全有user:edit权限。

0 投票
1 回答
3640 浏览

java - Spring MVC、RESTful 服务和 Apache Shiro 策略

我正忙于一个需要 REST API 以允许用户访问他们在服务器上的信息的项目。我让系统使用 Spring MVC 工作,并MappingJacksonJsonView在需要的地方返回 JSON。

我现在想在系统中包含安全性,首先,确保用户进行身份验证并拥有访问资源的正确权限,其次,我希望对数据进行足够细粒度的控制,以确保用户只能访问公开可用的资源的一部分,或者如果他们拥有整个资源的正确权限。

例如:

场景 A:用户 A 想要访问他们的消息列表,以及他们的姓名和电话号码。然后他们将获得身份验证,他们的权限将允许他们访问自己的所有信息。

场景 B:用户 A 想要访问用户 B 的电话号码 - 因此在响应中排除用户 B 的消息列表,因为 A 没有访问该部分信息的权限。

  • Q1:有没有一种使用 Apache Shiro 和 Spring MVC 的简洁方法?
  • Q2:有没有人有关于其他人如何实现这一点的示例或教程链接?
  • Q3:使用 Shiro 的哪种权限方案最有效地允许这种类型的细粒度控制?

我以前没有与 Shiro 合作过,但是从玩示例和阅读文档来看,这是可能的,而且 Shiro 最适合解决方案。不过,我对其他解决方案持开放态度。

编辑:一种解决方案,我不知道 Shiro & Jackson 是否可行,是在我的 POJO 中注释属性,我可以将其标记为公共或私有。或者更好的是,用访问它们所需的权限标记它们。然后当 Jackson 打印出对象的 JSON 表示时,它可以检查当前属性的权限并决定是否从其注释中打印该属性。

0 投票
1 回答
2369 浏览

facebook - 如何使用 Shiro 验证基于 cookie 或 facebook 的用户?

在我的 Web 应用程序中,我没有用户注册/登录。我所拥有的是用户帐户是在用户第一次访问该站点时基于 cookie 自动创建的。为此,我如何使用 Shiro 来验证这样的用户(并利用它的其他网络安全功能)?

如果用户选择通过 Facebook connect 登录,那么我如何在这种情况下使用 Shiro?

0 投票
3 回答
9064 浏览

java - Apache Shiro 需要哪些数据库表?

我想为我的领域使用 Apache Shiro 和 MySQL。Shiro 需要处理哪些表和字段?

0 投票
1 回答
1021 浏览

java - 使用 shiro 散列和加盐密码

在 apache shiro 中,默认的哈希实现如下:

注意它是如何把盐放在第一位的。我们必须针对哈希是密码+盐而不是盐+密码的遗留系统进行身份验证

我目前正在此方法调用之外执行 concat 并将 null 传递给 salt。除了子类化和覆盖此方法之外,还有比我必须做的更好的方法吗?

0 投票
0 回答
258 浏览

java - Http认证服务器库

是否有任何 Java 库来验证 Basic 或 Digest Http 身份验证?Spring Security 两者都提供,但 Apache Shiro 只有 Basic。

是否有任何库(除了来自 Spring 的复制粘贴类)来帮助实现这一点?

谢谢。

0 投票
3 回答
5048 浏览

java - 如何在 Java 中实现行级安全性?

我目前正在评估身份验证/授权框架。

Apache Shiro 似乎非常好,但我缺少行级安全功能。

例如,数据库中可能有一些特殊的行,只有具有特殊权限的用户才能看到和访问。为了避免不必要的往返,我们目前修改 SQL 查询以加入我们的授权数据,以仅获取当前用户的可见行。

但是这个概念对我来说并不“正确”,因为我们将业务代码与安全相关的代码混合在一起,这些代码应该是正交且相互独立的。

  • 有哪些可用/可能的解决方案?
  • 您如何实现行级安全性(尤其是与 jpa 结合使用)

更新:

目标数据库主要是 Oracle 10g/11g
- 但如果没有大的缺点,最好使用独立于数据库的解决方案

0 投票
1 回答
2858 浏览

java - 如何将 JAAS 授权检查委托给 Shiro?

我正在开发一个需要基于对象进行身份验证和授权的服务器端应用程序。我喜欢 Shiro 的简单,但是为了兼容 JAAS,我写了一个 LoginModule,它使用 Apache Shiro 作为底层机制。

但我的问题是我找不到将 JAAS 授权检查委托给 Shiro 的方法。我怎样才能做到这一点?

0 投票
4 回答
2496 浏览

grails - 需要一些关于 Grails Shiro Security 的教程

嘿,我需要一些很好的教程来演示 grails shiro 安全性的所有方面,以及如何通过一些示例来使用它们。我已经阅读了 grails 站点中解释的教程,但我需要一些带有示例的教程。请朋友帮忙...

我在等待一些积极的回应。

0 投票
1 回答
482 浏览

grails - 如何限制grails shiro security中的操作

.请指导我,我的控制器中有两种方法,一种是登录,第二种是注销。在我的数据库中定义了 1 个角色“用户”,我有一个具有该角色的用户。现在我想做的是那个人可以登录但无法访问注销按钮。我如何添加允许该用户不注销的权限/限制。