【发布时间】:2018-05-28 08:50:21
【问题描述】:
我有一个 Springboot/angular 组件(这是一个由 Spring 安全认证并从 Spring REST API 加载其数据的 angular 组件)。这个 springboot/angular 组件正在加载到 JAVA EE 应用程序的 iframe 中。
它们也分别加载到不同的上下文中,分别为 localhost:8080 和 localhost:7001。
问题是,每当 springboot/angular 组件在 iframe 中加载和验证时,它都会覆盖 Jsessionid,这样我在 JAVA EE 应用程序上发出的下一个 HTTP 请求就不再是原始的 Jsessionid,因此会导致错误。
在使用跨域 iframe 时,如何避免 Jsessionid 以这种方式被覆盖?
localhost:7001(JAVA EE 应用程序)中包含 iframe 的代码: 基本上,发生的事情是我向我的 spring processLogin 控制器调用自定义发布请求,以验证 spring/angular 组件,并将请求显示在 iframe 中。
<body>
<script>
function sendForm(){
var username = document.getElementById("sessionUser").value;
var password = document.getElementById("sessionPw").value;
var param = {};
param['username'] = username;
param['password'] = password;
post('http://localhost:8080/processLogin', param );
}
</script>
<iframe id=menuFrame frameborder="0" style="overflow:hidden;" src=""></iframe>
</body>
【问题讨论】:
-
版主注意:请不要破坏您的帖子。一旦您发布问题,它们就属于该网站及其用户。即使它不再对您有用,它也可能对将来的某人有所帮助。回答者也会努力写下他们的答案,如果您从帖子中删除了内容,这将不再有用。另外,请注意,通过在 Stack Exchange 网络上发布,您已授予 SE 分发该内容的不可撤销的权利(根据 CC BY-SA 3.0 许可)。根据 SE 政策,任何破坏行为都将被撤销。
标签: java spring angular spring-boot iframe