基于jsonp和cookie实现单点登录

2023-05-16

1.SSO需求
当前域名A:www.abc.com
跨域域名B:www.def.com
当在A域名下登录后点击链接跳转至域名B,希望实现域名B免登录。
2.实现思路
2.1域名A开发一个接口C:获取当前请求的session信息,存在返回0和session信息,不存在返回1。
2.1在域名B下利用jsonp请求域名A的接口C。
2.3在域名B下根据接口返回结果判断是否跳转至登录页:0直接使用session信息,1跳转至登录页。
3.代码实现
域名B下的代码:

<!DOCTYPE html>
<HTML>
<HEAD>
<meta charset="UTF-8">
<TITLE>DICTIONARY</TITLE>
<script src="https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<SCRIPT TYPE="TEXT/JAVASCRIPT">
function isLogin(res){
	if(res.code==0){
		alert("免登录");
	}else{
		alert("跳转至登录页");
	}
}
$(function() {
	$.ajax({
		url:'http://www.abc.com/get/session',
		type:'POST',
		data:{},
		dataType:'jsonp',
		jsonp:'callback',
		jsonpCallback:'isLogin',
		success:function(res){
			//TODO
		}
	});
});
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

域名A的接口随便使用哪种语言实现只要返回结果一致就ok,返回结果(文本格式):

isLogin({"code":0,"msg":"用户已登录"});

4.参数说明
jsonp:发送给服务端的回调函数参数名称
jsonpCallback:发送给服务端的回调函数参数值即回调函数的名字
可能有点绕,我把URL改下就很容易明白了:http://www.abc.com/get/session?callback=isLogin

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于jsonp和cookie实现单点登录 的相关文章

  • 【OpenCV】 2D-2D:对极几何算法原理

    2D 2D匹配 对极几何 SLAM十四讲笔记1 1 1 对极几何數學模型 考虑从两张图像上观测到了同一个3D点 xff0c 如图所示 我们希望可以求解相机两个时刻的运动 R t R t R t 假设我们要求取两帧图像
  • 蓝牙技术谈之跳频技术(一)

    跳频技术 Frequency Hopping Spread Spectrum xff1b FHSS 在同步 且同时的情况下 xff0c 接收两端以特定型式的窄频载波来传送讯号 xff0c 对于一个非特定的接收器 xff0c FHSS所产生的
  • 女生应该选JAVA还是前端?

    纵观现阶段互联网web前端开发工程师的就业人员 xff0c 女孩子从事这个行业的比例不大 xff0c 由于这种想象的存在 xff0c 当有女孩说想要学习web前端开发 xff0c 想成为一个牛逼的程序员的时候 xff0c 很多不一样的声音就
  • 在VNC中Xfce4中Tab键失效的解决方法

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 说明 在Ubuntu Server 14 04上安装了xfce4桌面环境 xff0c 但是却发现 在终端中Tab键不能自动补齐
  • 浏览器网页视频怎么快速下载到本地?

    我们在浏览网页时 xff0c 经常会遇到一些特别喜欢的视频文件 xff0c 想要下载收藏却苦于不会操作怎恶魔办呢 xff1f 这时候可以通过一些小插件快速达成下载 xff0c 比如通过猫爪视频下载插件用户可以轻松的抓取任意网页的视频文件 x
  • [golang]-interface转string

    导语 xff1a 使用将gitlab中某个项目的分支提取出来后返回的是interface类型 希望转换成string后存入数据库 interface 转 string 代码是抄来的 xff5e Strval 获取变量的字符串值 浮点型 3
  • [问题已处理]-linux在关机前执行脚本

    导语 xff1a 需要在关机和重启前执行一下关机前的脚本 避免某些服务没有正常关闭导致的问题 xff0c 或者某些服务关闭慢的问题 创建 lib systemd system cleanup service Unit Description
  • [linux]-ubuntu使用ufw及相关配置

    导语 xff1a 记录一下ufw的使用方式以及规则配置文件的更改 UFW配置文件 虽然可以通过命令行添加简单的规则 xff0c 但有些时候也需要添加或删除更加高级或特定的防火墙规则 在运行通过终端输入的规则之前 xff0c UFW会首先运行
  • dependencyManagement与dependencies区别

    dependencyManagement与dependencies区别 最近在阅读maven项目代码时 xff0c dependencyManagement与dependencies之间的区别不是很了解 xff0c 现通过项目实例进行总结
  • Linux-Day2_(包含软件)防火墙配置_软件安装_项目部署_虚拟机克隆_镜像还原

    Linux Day02 软件安装 soft https www aliyundrive com s 8ybAVk3nwhL 点击链接保存 xff0c 或者复制本段内容 xff0c 打开 阿里云盘 APP xff0c 无需下载极速在线查看 x
  • gnome菜单图标显示

    国产操作系统deepin uos都是gnome为基础的 xff0c 默认菜单里面不显示图标 这是因为他们基础gnome xff0c 而GNOME 从2 28之后 xff0c 按钮和菜单中的图标默认不再显示 如果要显示 xff0c 可以使用下
  • 【Algorithm】连续线性表模拟实现vector功能

    Cmakelists span class token function cmake minimum required span span class token punctuation span VERSION span class to
  • Spring+Springmvc+Mabatis环境搭建

    1 Download JDK 8 http www oracle com technetwork java javase downloads jdk8 downloads 2133151 html 环境变量 JAVA HOME D Prog
  • Ubuntu启动VirtualBox虚拟机之后鼠标无法打开菜单或者其他窗口的问题

    不知道从哪个版本 xff08 大概6 0之前的版本 xff09 开始 xff0c 某次升级了VirtualBox xff0c VirtualBox启动虚拟机之后 xff0c 鼠标点击菜单无法打开菜单 xff0c 任务栏上点击其他任务的图标也
  • spring boot使用logback时控制台不打印日志,使用slf4j解决不打印日志问题

    maven项目在pom中添加slf4j依赖 lt 用于解决日志不打印问题 gt lt dependency gt lt groupId gt org slf4j lt groupId gt lt artifactId gt slf4j ap
  • Android P 下keymaster安装流程

    转载请说明出处 菜鸡一只 xff0c 刚好学习到这里 xff0c 就分享一下 如有不对请各位大佬指出 InstallKeybox cpp 入口函数 KmInstallKeybox 进行安装 KM SECURITY LEVEL TRUSTED
  • 解决msvcr120.dll文件丢失问题(搞了半天,简直奔溃,最后完美解决)

    我是在安装MySQL时提示缺少这个文件 xff0c 搞了1太多 xff0c 各种方法都试了 解决办法 xff1a 试了好多方法 xff0c 都解决不了 网上下载msvcr120 dll放到对应目录下失败 下载安装VC 43 43 2013
  • NSS 错误码详细信息

    Table 8 1 Error codes defined in sslerr h SSL ERROR EXPORT ONLY SERVER 12288 Unable to communicate securely Peer does no
  • nltk.download失败解决方案

    因国际网络连接不稳定 xff0c 很多国内的小伙伴在使用NLTK下载停用词表时都碰到过下载失败的情况 其实解决方法很简单 xff0c 只要先下载官网停用词包 xff0c 然后在手动复制到NLTK对应目录下就好了 xff0c 具体方法如下 x
  • 谨以此文献给正在面临选择的你

    我是2011届的考生 xff0c 当我从我们学校的的分数公布栏上看到自己的分数时 xff0c 我感觉我的世界都变成了灰色 xff0c 一切都暗淡无光 在那段时间里 xff0c 我思考了很多的问题 xff0c 诸如要不要去复读 去哪一所学校

随机推荐

  • Android应用程序获取系统签名的方法

    在Android应用程序开发过程中 xff0c 经常会碰到要获取系统权限的问题 例如 xff1a lt uses permission android name 61 34 android permission STATUS BAR 34
  • VMware安装openEuler-20.03系统图文安装教程

    VMware安装openEuler 20 03系统图文安装教程 1 环境概要 系统架构 xff1a x86 64虚拟机软件 xff1a VMware16 pro安装的操作系统 xff1a openEuler 20 03 LTS 2 安装前准
  • 【雅可比左乘右乘】

    常见雅可比左乘 xff08 以自变量R为例子 xff0c 围绕旋转点p的旋转点的左扰动雅可比 xff09 xff1a 旋转点的右扰动雅可比 xff08 右乘 xff09 xff1a 左雅可比和右雅可比之间的区别在于它们各自描述了不同的变换方
  • Linux 下的 ActiveMQ C++ 客户端开发

    ActiveMQ CPP 是一个提供消息库 xff0c 即 ActiveMQ C 43 43 客户端 API 通过该接口 xff0c 我们可以使用多种协议来与消息中间件进行通信 本文主要针对 CentOS 7 x64 xff08 Linux
  • 基于Docker快速搭建ELK6.7.0

    1 安装ElasticSearch 1 1准备工作 1 1 1节点介绍 192 168 1 21 192 168 1 22 192 168 1 23 1 1 2拉取镜像 三台虚拟机都执行 docker pull elasticsearch
  • mysql事务中ddl语句的隐式提交

    1 当执行到DDL语句时 xff0c 会隐式的将当前回话的事务进行一次 COMMIT 操作 xff0c 因此在MySQL中执行DDL语句时 xff0c 应该严格地将DDL和DML完全分开 xff0c 不能混合在一起执行 2 为什么DDL语句
  • python基于UDP广播实现查找局域网服务器

    UDP广播案例 发送端 from socket import import time 设定目标地址 dest 61 39 192 168 31 255 39 9999 192 168 31是我的网段 255代表任意IP s 61 socke
  • 基于kibana开发工具(Dev Tools )修改logstash模板

    1 查询模板 GET template logstash Deprecation types removal The parameter include type name should be explicitly specified in
  • CentOS 7 MySQL自动备份shell脚本

    系统环境 xff1a CentOS7 64位 Minimal版 xff08 VMware xff09 MySQL5 7 原理与工具 xff1a shell脚本 mysqldump程序 crontab命令 1 新建shell脚本 vi opt
  • Centos7.2下RocketMQ 集群部署(2m-2s-sync)

    一 环境准备与介绍 1 部署架构 使用的模式是 2m 2s sync 2 broker机器信息 Master 1 xff1a 192 168 31 5 Slave 1 xff1a 192 168 31 6 Master 2 xff1a 19
  • centos7 快速卸载openjdk

    rpm qa grep java xargs rpm e nodeps 参考 xff1a https blog csdn net weixin 34060741 article details 91905833
  • CentOS7下安装部署kafka集群

    一 环境 在centos7 2系统下 xff0c 使用3台服务器搭建集群 Server1 192 168 1 11 Server2 192 168 1 12 Server3 192 168 1 13 二 安装配置JDK 下载并安装JDK1
  • Centos7安装Hadoop2.6.0集群

    一 环境准备与介绍 1 部署架构 使用的模式是 1m 2s 2 nameserver机器信息 192 168 1 89 node1 192 168 1 149 node2 192 168 1 180 node3 2 修改主机名称 2 1 分
  • 【line features】线特征

    使用BinaryDescriptor接口提取线条并将其存储在KeyLine对象中 xff0c 使用相同的接口计算每个提取线条的描述符 xff0c 使用BinaryDescriptorMatcher确定从不同图像获得的描述符之间的匹配 ope
  • Centos7安装Hive2.0.1集群

    1 准备工作 1 1 安装jdk1 8和mysql5 7 21 略 1 2 安装Hadoop2 6 0 xff0c 略 1 3 机器介绍 192 168 1 89 node1 192 168 1 149 node2 192 168 1 18
  • hive2.0.1执行存储过程

    1 编写过程sql 基于上篇文章的test db库 xff0c vi test sql xff0c 新增 xff1a use test db begin insert into t test2 id name values 2 39 你好
  • Centos7下搭建MySQL高可用架构(互为主从)

    1 环境介绍 192 168 31 14 A机器 192 168 31 82 B机器 192 168 31 200 vip xff08 A主B从 xff09 2 安装mysql 2 1 创建配置文件 xff1a vi mysql cnf m
  • JAVA基础篇-文件分片与合成实践

    本文提供两种文件分片与合成的方法 xff0c 分别是普通IO流的方式和使用RandomAccessFile的方式 xff0c 推荐RandomAccessFile方式 xff0c 接下来请看代码实现 xff1a package com st
  • GitBook快速入门

    1 安装 Node js Node 官网已经把 linux 下载版本更改为已编译好的版本了 xff0c 我们可以直接下载解压后使用 xff1a wget https nodejs org dist v10 15 3 node v10 15
  • 基于jsonp和cookie实现单点登录

    1 SSO需求 当前域名A xff1a www abc com 跨域域名B xff1a www def com 当在A域名下登录后点击链接跳转至域名B xff0c 希望实现域名B免登录 2 实现思路 2 1域名A开发一个接口C xff1a