php实现单点登录demo
1.准备两个虚拟域名
127.0.0.1 www.openpoor.com
127.0.0.1 www.myspace.com
2.在openpoor的根目录下创建以下文件
index.PHP
[php] view plain copy <?php session_start(); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>sync login</title> </head> <body> <?php if(empty($_SESSION["username"])):?> hello,游客;请先<a href="login.php">登录</a><a href="http://www.myspace.com/index.php">进入空间</a> <?php else: ?> hello,<?php echo $_SESSION["username"]; ?>;<a href="http://www.myspace.com/index.php">进入空间</a> <?php endif; ?> <a href="http://www.openpoor.com/index.php">home</a> </body> </html>login.php
<?php
session_start();
if(!empty($_POST["username"])){
require "../Des.php";
$_SESSION["username"] = $_POST["username"];
$redirect = "http://www.openpoor.com/index.php";
header("Location:http://www.openpoor.com/sync.php?redirect=".urlencode($redirect)."&code=".Des::encrypt($_POST["username"],"openpoor"));exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>sync login</title>
</head>
<body>
<form action="" method="post">
<input type="text" name="username" placeholder="用户名"/>
<input type="text" name="password" placeholder="密码"/>
<input type="submit" value="登录"/>
</form>
</body>
</html> sync.php
<?php
$redirect = empty($_GET["redirect"]) ? "www.openpoor.com" : $_GET["redirect"];
if(empty($_GET["code"])){
header("Loaction:http://".urldecode($redirect));
exit;
}
$apps = array(
"www.myspace.com/slogin.php"
);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<?php foreach($apps as $v): ?>
<script type="text/javascript" src="http://<?php echo $v."?code=".$_GET["code"] ?>"></script>
<?php endforeach; ?>
<title>passport</title>
</head>
<body>
<script type="text/javascript">
window.onload=function(){
location.replace("<?php echo $redirect; ?>");
}
</script>
</body>
</html> 3.在myspace的根目录下创建如下文件
slogin文件 完成session的设置
- <?php
- session_start();
- header("Content-Type:text/javascript; charset=utf-8");
- if(!empty($_GET["code"])){
- require "../Des.php";
- $username = Des::decrypt($_GET["code"],"openpoor");
- if(!empty($username)){
- header("P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"");
- $_SESSION["username"] = $username;
- }
- }
- ?>
copyright © 2008-2019 入门客AI创业平台 版权所有 备案号:湘ICP备2023012770号
