jquery 跨域 调用服务器js 单点登录 SSO
来源:互联网 发布:win10仿mac主题 编辑:程序博客网 时间:2024/05/17 04:15
问题:由于项目实现需要单点登录(SSO)功能,passport服务器与各个应用服务器不在同一个域中,当用户登录了某一台应用服务器,则在访问其他应用时,不需要用户进行再次登录。
解决方案:passport服务器在用户浏览器中保存了登录cookie,当用户请求登录passport服务器时,passport服务器读取该cookie来判断是否需要用户输入用户名、口令来登录。
上述代码data为null
data仍然为空
返回值了
解决方案:passport服务器在用户浏览器中保存了登录cookie,当用户请求登录passport服务器时,passport服务器读取该cookie来判断是否需要用户输入用户名、口令来登录。
遇到的问题,由于各个应用服务器无法读取passport服务器的cookie,所以判断用户是否登录只能由passport服务器来完成。
服务器代码
response.setContentType("text/plain");Writer w = response.getWriter();if (Context.getCurrentUser(request.getSession())!=null){w.write("var data = {result:\"true\"}");}else{w.write("var data = {result:\"false\"}");}w.flush();w.close();
代码1
$.get("${passport_server}/isLogin.do",function(data){ altert(data.result);});
上述代码data为null
代码2
$.getJSON("${passport_server}/isLogin.do",function(data){ alert(data.result);});
data仍然为空
代码3
$.getScript("${passport_server}/isLogin.do",function(data){ alert(data.result);});
返回值了
究其原因,jquery的get、getJSON和getScript都是由ajax这方法来实现,不同的是getScript是返回服务器上的js代码并执行,其他的都是返回json格式等结果,只有getScript可以跨域来返回结果,其他的都不能返回结果
- jquery 跨域 调用服务器js 单点登录 SSO
- CAS单点登录(SSO)服务器配置
- CAS单点登录(SSO)服务器配置
- sso单点登录1
- sso单点登录2
- sso单点登录3
- SSO(单点登录)
- SSO单点登录
- 单点登录(SSO)
- SSO 单点登录
- SSO单点登录解决方案
- SSO单点登录解决方案
- SSO单点登录解决方案
- SSO单点登录
- SSO单点登录
- SSO单点登录解决方案
- 单点登录sso简介
- 单点登录SSO
- 自动化测试ppt
- 基于信号完整性分析的高速PCB设计
- java国际化汉字---native2ascii 用法解析
- shell中特殊符号详解大全
- Android开机自动运行程序
- jquery 跨域 调用服务器js 单点登录 SSO
- 关于Servlet的生命周期
- oracle中exp,imp的使用详解
- 非常简单的搞懂JSON!实例! .
- ThreadPoolExecutor运转机制详解
- VMWare 中3种网络模式
- Linux开机启动过程详细分析
- linux i2c-gpio 模拟i2c时序出现oops错误
- jquery ajax,ashx,json用法小结