1

我正在尝试让 Spring Security 通过 GET 变量处理授权。我能找到的所有示例几乎完全集中在基于角色的授权上,这对我的应用程序并不适用。身份验证/授权过程需要工作的方式如下:

  1. 用户通过外部系统进行身份验证,获取会话 ID。
  2. 用户将两个 GET 参数传递给我的应用程序 sessionId 和 objectId。
  3. 应用程序验证会话有效(已经弄清楚这部分)
  4. 应用程序验证对象对用户可见(此处需要帮助)
  5. 应用程序向用户返回对象信息

我看到的所有示例都展示了 Spring Security 可以多么强大地检查 URL 模式或 Java 方法上的授予权限。但是我需要在第 4 步中实施自定义检查,以确保用户在后端拥有正确的权限(可以授予用户特定于对象的权限,因此角色方法在这里不起作用)。

我是 Spring Security 的新手,所以我的思维过程可能是各种各样的错误。如果我是,请随时纠正我!

4

2 回答 2

1

您需要使用ACL功能,或者您可以通过一些自定义代码(例如通过自定义 Web 安全表达式)模拟相同的东西。有关详细信息,请参阅此帖子

于 2013-01-23T17:12:03.843 回答
0

我认为您需要查看文档中的Pre-Authentication Scenarios部分。特别是,您可能需要实现 AbstractPreAuthenticatedProcessingFilter 以根据 GET 参数对用户进行预身份验证。

于 2013-01-23T17:13:26.247 回答