问题标签 [spring-security-acl]

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 回答
206 浏览

spring - Spring安全拦截方法显示错误

通过执行上面的代码行它显示错误

匹配的通配符是严格的,但找不到元素“bean”的声明

并在安全拦截方法标签上加红色下划线

这是jar文件的列表在此处输入图像描述

0 投票
1 回答
1225 浏览

java - Spring Security ACL - 允许用户从 Domain 类中“读取”一个字段

我对 Spring Security Framework 很陌生,这里有一个小问题要解决。

我已经设法将 @PreAuthorized("hasPermission('#person', Permission) 注释用于服务和控制器方法。这对我来说很好,但这仅适用于整个 Domain 类。

在我的例子中,有一些字段应该显示给用户,尽管他们没有读取这个人的权限。

一个简单的例子:

  1. 用户登录。
  2. 他想访问 Jon Doe 的个人资料页面。
  3. 但是用户没有阅读 Jon Doe 的权利。
  4. 系统应该会注意到用户他没有权限并显示名称,例如:您没有权限从 Jon Doe 读取个人资料。”

这是一个非常简单的例子,用户可以看到更多的字段。

希望你能明白我的要求。

(对不起,我的英语不是那么好。)

编辑

个人控制器

人员服务

0 投票
0 回答
259 浏览

rest - Spring Security - 自定义 JSON 消息,而不是显示登录页面

我想得到您对以下内容的宝贵反馈。我被困在处理 Spring-Security 中。我知道当我通过 form-login 登录时,会触发 login-processing-url 并将页面重定向到 Spring Security 登录。

但是,当我没有登录到我的应用程序但尝试通过 REST 访问任何 API URL 时,是否可以强制转换自定义 JSON 消息。您的帮助将不胜感激。!

我使用 ExtJS 进行 UI 登录和 Spring 作为 RESTful 服务

想集成这两个视图(Spring 登录视图和我的自定义 ExtJS 登录视图)

  • RR维涅什瓦兰
0 投票
2 回答
3103 浏览

spring-security - 如何使用 ACL 相关表获取用户可以访问的对象列表

我正在设计一个对用户管理/权限有很多要求的系统,所以我决定使用 Spring Security ACL 来管理域对象级别的权限。

虽然,使用 ACL 来维护用户和实体之间的关系迫使我们依赖它在 UI 上呈现数据。

Spring Security 提供的 PostFilter 解决方案可以很好地过滤用户可以/看不到的对象,但是当我们处理具有成百上千个条目的实体时,它会出现很大的性能问题,因为我们需要从数据库中加载所有内容,然后丢弃不允许用户“看到”的对象。

此处描述了该问题 - SEC-2409 - 但该功能可用需要一些时间。因此,我试图找到一种解决方法来使用 Spring Security ACL 但避免性能问题。

我考虑过实现一些代码来检索用户可以访问的对象(在身份验证过程之后)并保持该信息可用于每个请求,以允许开发人员使用该信息来执行查询而不依赖 PostFilter .

为了实现这一点,我试图找到一种方法来检索给定主体/授予权限的权限列表,但我无法找到一种方法来使用可用的 AclService 实现来做到这一点。

示例aclService.getObjectIdentityList(<sid>,<acl_class>)

注意:该方法应使用继承结构并包括从父条目继承的所有 ObjectIdentities

有什么建议可以获取数据或解决此问题的其他方法吗?


更新

我已经找到了一种方法来检索用户可以访问的对象列表。

这种方法对我们有用,因为我们只有几个实体,访问由 ACL 控制,所以我们可以构造一个用户可以访问的 ObjectsIdentities 列表。

虽然,正在返回的 Map 正在返回正在传递的 ObjectIdentities 的所有 ACL,然后我需要检查用户是否有权访问正在返回的每个 ObjectIdentity。

你有一个简单的方法来做到这一点或简化所有这些逻辑吗?

0 投票
1 回答
56 浏览

grails - 如何防止登录用户在 Grails 中使用 Spring Security ACL 编辑另一个用户?

我拥有 Spring Security Core 中的角色 student。角色学生可以编辑您的信息。但如果他想编辑另一个用户的信息,这也是可能的。

我使用了 ACL 插件,但它不起作用。您仍然可以编辑其他学生。

0 投票
2 回答
23809 浏览

java - spring security中的hasPermission如何解读?

我是春季安全的新手。我如何解释这个?

权限评估器中的哪个方法会被调用?我认为在这种情况下会调用具有三个参数的那个。它正在检查当前用户是否对“opetussuunnitelma”类型的目标具有“LUONTI”权限。我对吗?我们不能不包含“null”并且只传递两个参数。我读到没有提供第一个参数( Authentication 对象)。

0 投票
1 回答
568 浏览

grails - 无法运行 Grails ACL 插件:创建名称为“afterAclCollectionRead”的 bean 时出错

我想使用Spring Security ACL 插件。我在这里按照官方文档中的教程进行操作:http: //grails-plugins.github.io/grails-spring-security-acl/docs/manual/guide/tutorial.html

运行示例时出现以下错误:

是什么导致了这个错误?

0 投票
1 回答
877 浏览

java - Spring Security 自定义登录错误(未调用提交登录处理 url)

我是春天的新手。我需要使用spring security创建一个登录模块,而在提交表单时使用自定义登录页面没有任何反应,当我调试它时,我发现我收到了错误代码400,即使我发送的是正确的参数。我正在使用 Spring 4.0.6.RELEASE 和 Spring security 4.0.1.RELEASE。

下面是 Spring 安全 xml 文件 login.jsp 和 web.xml,在此先感谢。

安全上下文.xml

登录页面 (login.jsp)

web.xml

0 投票
0 回答
1241 浏览

java - 将 url 添加到 WebSecurity 配置时,SecurityContextHolder.getContext().getAuthenticated 返回 null

我在我的应用程序中使用 Spring Security,并且暴露了一个 REST API。API 对尝试访问 API 的用户进行身份验证,并且我正在使用 Spring 的 ACL 实现(作为注释放置 PreAuthorize、PostAuthorize 等)。

问题是有一些资源可以被非登录用户访问,而该资源的一些操作只能由登录用户使用。为了向未登录的用户提供访问权限,我已将这些 url 添加到 SecurityConfiguration 类中:

现在的问题是,每当有人访问 resource1 或 resource2 时,SecurityContextHolder.getContext().getAuthentication() 都会返回 null。这会导致问题,因为我正在使用 Spring 的 ACL 实现,并且实现的源文件使用 SecurityContextHolder.getContext().getAuthentication() 方法并返回 null。所以 ACL 已经停止工作。在我自己的代码中,我可以获得此处提到的身份验证实例,但不能在 ACL 的源文件中。

我想一次性在配置中做一些事情,这样即使我在 SecurityConfiguration 中提供了 url,我仍然可以获得 SecurityContextHolder.getContext().getAuthentication() 实例。

0 投票
0 回答
332 浏览

java - Spring Security ACL 可以支持多租户吗?

我可以知道 Spring Security ACL 是否支持多租户?我计划使用多租户架构(1 个租户 1 个 DB)实现 Web 应用程序。如果我想将 Spring Security ACL 与多租户架构一起使用,spring security ACL 如何加载/捕获多个 DB ACL_ENTRY?如何在 Spring Security ACL 中定义多个数据库?