问题标签 [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 投票
1 回答
1084 浏览

grails - 如何检测shiro是否允许uri或从uri中提取控制器名称

我有一个 uri,例如 someController/someAction?param1=aa¶m2=bb

是否有一些 grails 方法可以从这个 uri 中提取控制器名称和动作名称。

或者 shiro 有什么方法可以检测到这个 uri 是允许的吗?


我有一个域菜单(名称,url),现在想要获取当前用户允许的菜单列表。

url 例如 /auth/login(可能映射为 user:login), /user/login

所以2天前我问了这个问题。

现在我将菜单更改为(名称、控制器、操作、参数),并像这样过滤菜单列表:


对不起我的英语不好,谢谢你的回复。

顺便说一句,这里是如何缓存 shiro 的另一个问题: 如何在 grails shiro 中使用缓存权限


To proflux:那么你认为存储菜单列表的更好方法是什么?原因:

  1. 由于用户的权限,它需要向用户显示不同的菜单。
  2. 有时我们更新一个 web 应用程序,但想稍后向用户显示菜单。所以我们只需要改变比如一个menu.visible。(比更改硬代码 cfg 或源代码更好)。
  3. 我们正在使用 extjs 来显示菜单(所以导航插件不能使用)。
0 投票
1 回答
1015 浏览

grails - 如何在 grails shiro 中使用缓存权限

每次我打电话subject.isPermitted()时,它都会向db发送一个sql。
我怎样才能缓存它?有什么例子吗?谢谢。


我阅读了 shiro grails 插件的文档,但无法解决它。

数据源:

如何将缓存管理器设置为 shiro?我尝试spring.resource,抛出一个错误。

缓存管理器的实例 bean 名称是什么?我还需要配置其他东西吗?

0 投票
1 回答
2548 浏览

authentication - Shiro FormAuthenticationFilter 基础问题

我可以找到大量示例来说明如何配置 URL 以使用 authc 过滤器,但我找不到任何合适的简单登录页面示例。我正在使用 Spring 与 Shiro 的集成,但我认为这与我的问题无关。

通过阅读文档,我设置了我的过滤器工厂,如下所示:

我会为你省去整个 xml 文件。我可以说它选择了正确的过滤器,因为当我这样做时:

我得到这个回应:

到目前为止,一切都很好,对吧?但是,如果我提交用户名和密码,我应该会得到 Reports.jsp 的内容,对吧?我不。如果我这样做: * curl -v -d "username=demo&password=demo&rememberMe=false" http://localhost:8080/factorlab-web/Reports.jsp

我得到与以前相同的响应:

显然,我对配置或它应该如何工作感到困惑。首先,谁能告诉我我应该从第二个 curl 命令中得到什么,或者为什么我没有看到我所期待的?

其次,是否有一个带有 login.jsp(或类似文件)的小样本,我可以在其中看到当用户发生以下情况时会发生什么: * 明确转到登录页面 * 自动定向到登录页面(例如,登录会将您带回原始尝试页面)。* 从登录页面提交错误的用户名和密码。

0 投票
1 回答
2109 浏览

.net - 将 Apache Shiro 与 ASP.NET MVC 集成

我正在考虑使用Apache Shiro作为我们在各种平台上的所有应用程序的中央身份验证服务。

它暗示它可以与各种平台集成,这对我的目的来说是理想的,但我找不到任何例子来说明如何从 .NET 实现这一点(特别是 ASP.NET MVC,如果它有任何区别的话)。

有谁知道我在哪里可以找到如何做到这一点的例子?

0 投票
1 回答
915 浏览

java - JMX 客户端会话

我已经研究 JMX 一段时间了,但我被困住了。

我有一个通过 JMX 向远程客户端公开一些功能的应用程序,尽管现有的安全功能对于大多数情况下可能就足够了,我的应用程序使用 Apache Shiro 框架作为安全后端。

我的问题是我不知道如何在服务器端收集客户端数据。Shiro 需要一种识别客户端(主题)的方法,通常执行线程与主题相关联,但在线 JMX 文档并没有提供有关远程 JMX 线程模型的太多线索。

我如何将客户端与线程相关联,或者有没有办法在交互的 MBean 中检索客户端数据?

0 投票
1 回答
4449 浏览

java - Apache Shiro 和 Google Guice:将依赖项注入领域

我用 Jersey 开发了一个 rest api,并想使用 Google Guice 进行依赖注入和 Apache Shiro 作为安全框架。

对于身份验证,我创建了一个自定义领域,我必须向其中注入一个连接到 EntityManager 的自定义身份验证器。

但是,依赖项不会注入到领域中。我猜想 shiro.ini (我必须在其中定义使用的领域)不是由 guice 管理的。

如何将依赖项注入 Apache Shiro,尤其是使用的领域?

我的 web.xml 只有一个映射到 guice 的过滤器

我的 GuiceServletConfig 配置所有依赖项,包括 CustomRealm

shiro ini 只定义领域

0 投票
3 回答
43997 浏览

java - Shiro vs. SpringSecurity

I have currently evaluating Java based security frameworks, I am a Spring 3.0 user so it seemed that SpringSecurity would be the right Choice, but Spring security seems to suffer from excessive complexity, it certainly does not seem like it is making security easier to implement, Shiro seems to be much more coherent and easier to understand. I am looking for lists of pros and cons between these two frameworks.

0 投票
0 回答
2711 浏览

jsf-2 - JSF 2.0 和 Apache Shiro

您知道一些参考项目或指南如何将 Apache Shiro 与 JSF 2.0 一起使用吗?

BR卡尔

0 投票
1 回答
502 浏览

grails - 我们如何配置 grails shiro 插件 v1.1.3?

我发现很难找到正确的方法来配置我的应用程序以使用插件,我使用的是 grails 1.3.6 和 Shiro 插件 1.1.3

我已经根据插件文档站点上的快速入门指南设置了我的应用程序,但是当我想进一步配置时,即设置登录成功 URL,我发现自己遇到了障碍。

我不明白的是,经过研究,我看到了 3 种设置选项的方法。

  1. 在 config.groovy 中将显式选项设置为单行,即 security.shiro.redirectUrl = "/blah"

  2. 我经常在 nabble 和 Stack Overflow 上看到这种类型的块,但没有提示它的去向:

    安全 { shiro { 过滤器 { successUrl:"/blah/" } } }

我尝试了这种方法来设置successUrl,但它没有效果。

  1. 我已经看到对 SecurityFilters.groovy 文件的引用,但看不到我将在此文件中放置 successUrl 的位置。

因此,如果有人可以为我解决这个问题,那就太好了:-)

谢谢,

0 投票
2 回答
3454 浏览

java - JSESSION/HTTPSession 与应用程序制作的会话 ID

在基于专有 MVC 和授权模型的 Web 应用程序中,我们最近迁移到了 Spring MVC。作为这一举措的一部分,我们也在考虑从本地创建的 GUID 转移到与每个请求一起传递的基于 cookie 的会话 ID。

从表面上看,在我们的例子中,这样做似乎是一个很大的劣势,因为标准的 JSESSION/HttpSession 似乎是所有安全问题的根源:

  1. 会话固定(在现有代码中,会话仅在成功登录后创建,因此我们永远不需要 invalidate() 会话。
  2. CSRF - 会话永远不会作为 cookie 传递,因此这绝不是一种风险(天哪,这是一个需要处理的问题,因为没有真正的框架或通用解决方案检查 HDIV 和 CSRFGuard)。
  3. 测试可用性 - QA 可以轻松地将具有多个角色的多个用户连接到同一服务器,而 JSESSION 则无法实现。
  4. 在各种容器(Weblogic、JBOSS 和 Websphere)中一致的 HTTPSession 创建和失效
  5. 在 HTTP 到 HTTPS 之间移动时 JSession 处理不一致。

所以,除了“成为标准”的明显优势之外,关于我为什么要走 JSESSION 路线的任何线索?