本文实例讲述了PHP的sso单点登录实现方法。分享给大家供大家参考。具体分析如下:
这里详细讲到了几点: 1、点击登录跳转到SSO登录页面并带上当前应用的callback地址 2、登录成功后生成COOKIE并将COOKIE传给callback地址 3、callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录 4、再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态,代码如下: index.PHP 应用程序页面:
代码如下:
if(isset($_COOKIE['sign'])){
exit("欢迎您{$_COOKIE['sign']} <a href="login.php?logout">退出");
}else{
echo '您还未登录 <a href="'.$sso_address.'?callback='.$callback_address.'">点此登录';
}
?>
<iframe src="<?php echo $sso_address ?>?callback=<?php echo $callback_address ?>" frameborder="0" width="0" height="0">
exit("欢迎您{$_COOKIE['sign']} <a href="login.php?logout">退出");
}else{
echo '您还未登录 <a href="'.$sso_address.'?callback='.$callback_address.'">点此登录';
}
?>
<iframe src="<?php echo $sso_address ?>?callback=<?php echo $callback_address ?>" frameborder="0" width="0" height="0">
login.PHP SSO登录页面:
<div class="codetitle"><a style="CURSOR: pointer" data="50456" class="copybut" id="copybut50456" onclick="doCopy('code50456')"> 代码如下: