单点登录——解决分布式项目中session共享问题

初学有感,希望各位大佬在下面批评指教,晚辈万分感激!

----------------------------------------------------------------------------------------------------------------------------------

单点登录的实现其实就是cookie与redis配合模拟一个session,具体思路:

用户登录后,将用户名保存在cookie中,并且在redis中有所保存,二者均设过期时间。cookie就将用户信息保存在本地浏览器。

可以写段js,该页面只要加载,该js就加载,并且去浏览器查找对应的cookie,找到发给单点登录工程,单点登录工程拿着该cookie中的用户名去redis中查询相关用户信息,若一切顺利,返回给该js。不顺利的原因可能是用户过期或者其他什么原因,重新登录,保存cookie和redis。


获取cookie的js代码:其中token为cookie的name

var E3MALL = {
	checkLogin : function(){
		var _ticket = $.cookie("token");
		if(!_ticket){
			return ;
		}
		$.ajax({
			url : "http://localhost:9999/user/token/" + _ticket,
			dataType : "jsonp",
			type : "GET",
			success : function(data){
				if(data.status == 200){
					var username = data.data.username;
					var html = username + ",欢迎来到宜立方购物网!<a href=\"http://www.e3mall.cn/user/logout.html\" class=\"link-logout\">[退出]</a>";
					$("#loginbar").html(html);
				}
			}
		});
	}
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值