勿忘初心
每天都是新的开始

单点登录 就是一个点登录 多个站点共享(个人理解)

环境:公司主站改版站点较多就考虑了必须实现单点登录。

因为cookie 是 不支持跨域的所以 想要实现 单点登录最重要的实现cookie 共享

来说一说我的代码思路:

第一步:记录returnurl  跳转登录前的地址以便登录成功后跳转回去

第二步:共享登录凭证,项目中本来想 用通知形式,即一个站点登录 轮询通知其他站点,因为是站点之间是二级域名和三级域名 。 这种就相对来说更为简单了,通过forms 认证 ,可以很简单 快速的实现cookie的共享,

但是 在实际操作中发现部分站点无法实现cookie 共享问题,cookie跨域写入成功但是读取不成功。针对这些问题项目组决定不能共享的站点单独写方法 判断登录

第三步:登录凭证共享成功后,仅凭本地的cookie并不能真正的登录,真正的登录状态需要从服务器缓存获取,根据本地保存的的登录凭证

做到以上几点 基本上就实现了单点登录。

下面附上部分关键代码,此处只是实现了二级域名的共享登录,二级域名的单独登录相对来说简单一些

 

posted on 2018-01-20 13:13  栀子勿忘  阅读(131)  评论(0编辑  收藏  举报