-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
最近在做项目的时候,由于多个系统的集成和整合,涉及到单点登录的问题。什么是单点登录呢?意思就是在同一个体系下共享账号的各种不同系统,在某个系统登录之后,其余的系统都是在登录的状态并且获得该账号的所有权限。
使用 Cookie 方法
cookie 设置和读取当前网页关联的客户端属性字符串。
cookie 不能跨域访问,但是能在二级域名之间共享,如果各个系统是在同一个主域名下分属不同的二级域名,就可以利用 cookie 的这个特性来设置单点登录,实例:
(function(){
HoCookie.set("token", "4c0c77c01bf12bc5fe1fb0c7281da2c0", { expires: 7, domain: "hexson.win" });
})();这段代码里,我们设置了一个在域名 hexson.win 下,有效期7天名为 token 的 cookie,那么我们在任意 xxx.hexson.win 下,都能通过 HoCookie.get("token") 的方法获取到值 4c0c77c01bf12bc5fe1fb0c7281da2c0,所以,这个方法在同一个主域名下都可以在请求中带上 token 值而实现单点登录。
所有的
HoCookie方法参见 Cookie Getter and Setter 封装:hocookie.js。
以后还会贴出不同域名下跨域单点登录的方法。
Reactions are currently unavailable