3

我使用 Spring Security 在 Grails 中编写了一个应用程序,它可以处理所有面向用户的任务,例如登录、注销、重置密码和新用户注册以及电子邮件验证。该应用程序还可以管理用户角色等。它有自己的 postgres 数据库来存储用户信息。

我想将 Grails 应用程序用作另一个使用 Spring Security 并且只有登录/注销的旧版 Tomcat GWT 应用程序的前端,它取决于通过 LDAP 填充的用户数据。它没有用户注册前端,或重置密码功能。旧版应用程序拥有自己的包含用户信息的 postgres 数据库。

我计划在同一台机器上的两个不同端口上运行两个 Tomcat 实例来托管这两个应用程序。这两个应用程序都可以访问所有数据库。

问题是,让 Grails 应用程序接受登录,然后将用户传递给旧版应用程序的最佳方式是什么?我是在描述单点登录吗?

旧版应用程序具有预身份验证代码,但在我看来,仅通过请求标头传递用户名并不安全!旧版应用程序如何知道用户确实已登录?我一直在阅读有关安全远程密码的一些内容,我想知道它是否可能是一种处理安全登录 Grails 应用程序并将控制权传递给旧应用程序的方法?

任何建议表示赞赏!

4

2 回答 2

1

关于单点登录,我认为您猜对了。查看 grails 的 CAS 插件。它为多个启用 Spring Security 的应用程序提供 SSO。

http://grails.org/plugin/spring-security-cas

于 2013-09-28T17:29:29.360 回答
1

当您在前端应用程序中登录时,配置 spring_security 为旧版应用程序设置“记住我”cookie。

用户在前端登录,然后在打开旧版时自​​动登录。

这是更简单的解决方案,有很多限制,但有效!

于 2013-09-27T16:50:08.040 回答