ホームページ  >  記事  >  バックエンド開発  >  PHP sso シングル サインオン実装コード_PHP チュートリアル

PHP sso シングル サインオン実装コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:10:20903ブラウズ

いくつかの点について、以下で詳しく説明します。 1. [ログイン] をクリックして SSO ログイン ページに移動し、現在のアプリケーションのコールバック アドレスを取得します。 2. ログインに成功したら、COOKIE を生成し、その COOKIE をコールバック アドレスに渡します。 3. コールバック アドレスは SSO COOKIE を受け取り、設定します。それを現在のドメインの下に置き、適用 1 に戻ってログインを完了します。 4. 次に、アプリケーションがログインする必要がある場所に iframe を埋め込んで、ログイン ステータスをリアルタイムで検出します

コードは次のとおりです コードをコピーします


//index.php アプリケーション ページ
header('Content-Type:text/html; charset=utf-8'); ://2spaoku.com/sso/login.php'; //SSO の場所 ドメイン名
$callback_address = 'http://'.$_SERVER['HTTP_HOST']
を呼び出すために使用されます。 Cookie の設定に戻る

if(isset($_COOKIE['sign'])){

exit("Welcome{$_COOKIE['sign']} Exit< /a>");

}else{
echo 'まだログインしていません
ここをクリックしてログイン< ;/a> ;';
}
?>


//login.php SSO ログイン ページ

header('Content-Type:text/html; charset=utf-8'); isset($_GET['logout'])){
setcookie('sign','',-300);
header('location:index.php ');
}

if(isset($_POST['ユーザー名']) && isset($_POST['パスワード'])){
setcookie('署名',$_POST['ユーザー名'],0,' ');
header("location:".$_POST['callback']."?sign={$_POST['username']}");

}


if(empty($_COOKIE['sign'] )){
?>

<フォームメソッド="post">

ユーザー名:


:





}else{

$ query = http_build_query( $_COOKIE);

echo "{$_COOKIE['sign']} へのログインが検出されました 承認 < ;/a> Exit";
}
?>

//callback.php コールバック ページはクロスドメイン COOKIE の設定に使用されます
header('Content-Type:text/html; charset=utf-8');

if(empty($_GET)){

exit('ログインしていません');
foreach($ _GET as $key=>$val){
setcookie($key,$val,0,'')
}
header("location:index.php"); ? php
//connect.php は、ページ
header('Content-Type: text/html; charset=utf-8'); の iframe に埋め込まれている、ログイン状態を検出するために使用されるページです。 _COOKIE[ 'sign'])){
$callback = urldecode($_GET['callback']);unset($_GET['callback']);
$callback = $コールバック。"?{$query}";
}else{
}
?

www.bkjia.com本当http://www.bkjia.com/PHPjc/444725.html技術記事いくつかの点について、以下で詳しく説明します。 1. [ログイン] をクリックして SSO ログイン ページに移動し、現在のアプリケーションのコールバック アドレスを取得します。 2. ログインに成功したら、COOKIE を生成し、その COOKIE をコールバック アドレスに渡します。 3. callba...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。