0

我想验证是否可以使用 Spring Security - Pre authentication 方案解决以下身份验证问题:

问题:

  1. 用户通过旧系统登录
  2. 将页面调用到 Web 系统(在 spring mvc 中创建)
  3. 当将页面调用到 web 系统时,它(遗留系统)传递一个令牌、用户名和 user_role
  4. 然后,Web 系统使用遗留系统提供的 Web 服务来验证用户名和令牌。
  5. 如果在 Web 系统上创建了有效的会话并且用户能够使用该网页,否则用户将被定向到错误页面

我可以使用 Spring Security 提供的预身份验证方案吗?或者只创建一个验证令牌和用户有效性的 Spring AOP 方面是否更容易?

spring 安全文档在解释预认证场景的正确使用方面并不是很好。请指导我采取最好的路线。如果需要更多信息,请告诉我。

欢迎好的例子或链接。

4

2 回答 2

1

遗留系统和 Web 系统 2 是不同的应用程序吗?

基本上,我认为您希望在另一个 Web 应用程序中从旧系统中的用户创建登录会话。一种自动登录到第二个系统。Spring Security 可以在这里为您提供帮助,但您必须使用它对 OAuth 1.0 或 2.0 的支持。 http://static.springsource.org/spring-security/oauth/

https://github.com/SpringSource/spring-security-oauth/wiki/oauth1

我在很久以前就将 OAuth1.0 用于类似的场景。在我的脑海中,我认为 OAUth 已经预定义了步骤 1)消费者请求 Auth 令牌 2)服务器提供请求令牌 3)消费者请求令牌被授权 4)接下来它传递 Auth 令牌并请求访问令牌 5 ) 一旦获得它,它就可以向服务器上的目标 url 发出请求并授予访问权限。

它比我写的更复杂,但关于 spring oauth 支持的好处是 spring 负责令牌位,你必须做最少的编码。希望这能回答你的问题。

于 2013-04-15T13:57:54.583 回答
0

用户使用旧系统登录后,您可以在服务器端生成身份验证令牌,该令牌将存储在数据库中,并在用户端存储在 cookie 或 localStorage 中。然后在每个请求中传递此令牌并在预身份验证过滤器中检查它,就像我在此处的回答中描述的那样:https ://stackoverflow.com/a/372​​04764/1562234

于 2016-05-13T12:02:49.930 回答