[27期] 利用cookie实现SSO(网上搜的,分享下)
发布日期:2021-07-18 18:19:06
浏览次数:4
分类:技术文章
本文共 1809 字,大约阅读时间需要 6 分钟。
利用cookie实现跨域,可以称为SSO单点登录A网站首页PHP(也可以在登录页面加入下面的代码)加入如下代码
view plaincopy to clipboardprint? 1. <?php 2. //清空cookies 3. setcookie("mywinduid"); 4. //为B页面权限设置cookie, setcookie("mywinduid",$winduid,time()+60*60*24);//设置为1天失效,下面为关闭浏览器失效 5. setcookie("mywinduid",$winduid); 6. ?> A网站增加文件getcookies.php,目的是为了让B网站可以以ajax方式来查询A网站的cookie getcookies.php 代码如下 view plaincopy to clipboardprint? 1. <?php 2. $callback = $_GET['jsoncallback']; 3. $mywinduid = $_COOKIE['mywinduid'];//多个参数的话以","隔开,例如json_encode(array('winduid'=>$winduid,'msg'=>$msg)); 4. //可以用json_encode自动转换,也可以手写json格式 $json_data = '{"mywinduid":'.$mywinduid.'}'; 5. $json_data = json_encode(array('mywinduid'=>$mywinduid)); 6. //必需以下这样形式输出,重点就是发送请求的网页的参数中要有jsoncallback参数 7. echo $callback.'('.$json_data.')'; 8. ?> 在需要查询A网站cookie的B网站页面中增加如下代码 view plaincopy to clipboardprint? 1. <script type="text/javascript" src="jquery-1.6.1.min.js"></script> 2. <script type="text/javascript" src="jquery.cookie.js"></script> 3. <script type="text/javascript"> 4. $(function(){ 5. $("#adminwhj").click(function(){//点击B网站中的登录按钮,这地方也可以不需要用click,直接打开页面就获取cookie 6. var myurl = "http://www.a.com/getcookies.php?action=getcookie"; 7. $.getJSON(myurl+"&jsoncallback=?", function(data){ 8. if(data.mywinduid!="" && data.mywinduid!= null){ 9. var winduid = data.mywinduid; 10. if((winduid==4)||(winduid==2)){ 11. $.cookie('mywinduid',winduid);//设置cookies 12. location.reload();//刷新页面 13. }else{ 14. alert("您没有管理权限!"); 15. } 16. }else{ 17. alert("请在www.a.com登录后再进行管理"); 18. } 19. }) 20. }) 21. }) 22. </script> 下面是B网站的这个页面中需要做权限判断的代码 view plaincopy to clipboardprint? 1. <!--需要权限的判断开始--> 2. <? 3. $winduid=$_COOKIE["mywinduid"]; 4. if (($winduid==4)||($winduid==2)) 5. {<!--管理需要的代码-->} 6. ?> 整个原理就是,B网站上文件可以通过A网站的getcookies.php来获取A网站的cookie,然后在B网站的页面提供权限判断,这样B网站中不需要再单独做用户登录转载地址:https://blog.csdn.net/iteye_3606/article/details/82173101 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月07日 06时59分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Squid安装
2019-04-27
如何查看当前Linux的版本
2019-04-27
Ubuntu安装Nginx
2019-04-27
Ubuntu 下安装thttpd Web服务器
2019-04-27
用thttpd做Web Server
2019-04-27
服务器端开发经验总结 Linux C语言
2019-04-27
将网站程序放在tmpfs下
2019-04-27
使用Nginx的proxy_cache缓存功能取代Squid
2019-04-27
nginx 反向代理,动静态请求分离,proxy_cache缓存及缓存清除
2019-04-27
nginx 的proxy_cache才是王道
2019-04-27
Nginx proxy_cache 使用示例
2019-04-27
Nginx源代码分析 - 日志处理
2019-04-27
使Apache实现gzip压缩
2019-04-27
Memcached在大型网站中应用
2019-04-27
Hadoop简要介绍
2019-04-27
squid中的X-Cache和X-Cache-Lookup的意义
2019-04-27
squid 优化指南
2019-04-27
编程方式刷新Squid缓存服务器的五种方法
2019-04-27
centos vnc配置笔记
2019-04-27
Linux服务器网络开发模型
2019-04-27