jsonp+session实现单点登录

来源:互联网 发布:linux 自动启动svn 编辑:程序博客网 时间:2024/05/18 01:01
<form action="login.php" method='post'>
username:<input type='text' name='username'><br>
password:<input type='text' name='password'><br>
<input type="button" value='submit'>
</form>
<script src="./jq.js"></script>
<script>
$(function(){
$("input[type='button']").click(function(){
var username = $("input[type='text']").eq(0).val();
var password = $("input[type='text']").eq(1).val();
// alert(username);
$.ajax({
type:'post',
url:'login.php',
data:{'username':username,'pwd':password},
dataType:'json',
success:function(data){
// alert(data);
// console.log(data.code1);
$.each(data.data,function(i,item){
$.getJSON(item,{},function($data){
if(data.code == 200)
{
alert('success');
}
})
})
}
})
})
})

</script>

<?php
header("content-type:text/html;charset=utf-8");
//链接数据库
$pdo = new PDO("mysql:host=127.0.0.1;dbname=test",'root','root');
//接收用户名及密码
$username = $_POST['username'];
$password = md5($_POST['pwd']);
$obj = $pdo->query("select * from test where username='$username' and pwd='$password'");
$arr = $obj->fetch(PDO::FETCH_ASSOC);
if($arr)
{
// echo '1';exit;
$uid = $arr['id'];
//生成token
$token = null;
//失效时间+用户id+用户其他信息
$invalidTime = date('YmdHis',time()+3600);
$tokenPre = $uid.$invalidTime;
$token = $tokenPre.md5(md5($tokenPre.'123456'));
//在进行加密base64_encode token
$token = base64_encode($token);
$data = json_encode(array('code'=>200,'data'=>array('http://www.b.com/index.php?token='.$token.'&callback=?')));
header('content-type:text/json');
echo $data;
}
// print_r($pdo);





阅读全文
1 0