首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用iFrames在门户式应用程序中安全地使用Spring安全登录和注销

问使用iFrames在门户式应用程序中安全地使用Spring安全登录和注销
EN

Stack Overflow用户
提问于 2016-08-31 04:21:44
回答 1查看 422关注 0票数 0

​

​

我参与了门户样式应用程序的开发。上面的图表显示了应用程序的核心UI线框。有一个主要的应用程序mainApp充当门户应用程序。它包含一个侧栏菜单,它提供“入口点”来启动其他各种web应用程序(App1,App2)。AppN),它们是独立的、单独打包和部署的war文件,与mainApp运行在同一个Tomcat服务器上。

所有应用程序都是基于Spring (3.2.x)的,并且集成了spring安全性(3.2.x)。用户只使用security的标准登录表单机制登录mainApp。显而易见的期望是,用户不必登录到他们从侧栏菜单启动的每个应用程序。同一用户应自动登录到每个启动的应用程序中。

App1,App2,。AppN通过它们各自的URL加载到主应用程序页面中的iFrame中,如图所示。

作为非常基本的第一次迭代,我已经在每个门户应用程序中实现了扩展Spring的AbstractPreAuthenticatedProcessingFilter的过滤器。筛选器查找一个URL参数authToken并自动登录,如果找到该参数并且是Base64 (我知道,非常弱!)解码为用户名。如果找不到令牌,用户可能会在iFrame (丑陋)中看到一个春季安全登录屏幕。

问题:

  1. 与查询参数相比,是否有更好、更安全的方法将身份验证令牌或票证传递给在iFrame中启动的应用程序?我想我不能使用请求头,因为当主门户应用程序在iFrame中设置URL时,无法传递它们?还是有办法?或者其他机制?
  2. 当用户从mainApp中登录时,我如何将用户从每个App1、App2...AppN中记录下来,用户已经启动并进行了预认证?当主门户应用程序发生注销时,编程地命中每个应用程序中的spring安全/logout端点?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-03-14 02:15:15

我有一个想法:您可以将spring安全登录页面设置为另一个页面,将父页面重定向到登录页面:

spring安全配置:

代码语言:javascript
复制
formLogin().loginPage("/redirect_login.jsp")

redirect_login.jsp:

代码语言:javascript
复制
window.parent.location.href="./login.jsp"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39240685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档