PHPでシングルサインオンを実装する原理は何ですか
シングル サインオンを実装するための PHP の原則は、まずクライアントの Cookie に信頼を保存し、次に Cookie をさらに検証することです。大量の一時的な信頼データを効率的に保存するには、memcached に似た分散キャッシュ ソリューションを使用できます。
シングル サイン オン SSO (シングル サイン オン) は、複数のシステムが共存する環境で、ユーザーが 1 か所でログインした後は、他のシステムにログインするということは、ユーザーの 1 回のログインが他のすべてのシステムによって信頼されることを意味します。
(関連する推奨事項: php トレーニング )
シングル サインオンは、Alibaba のような Web サイトなどの大規模な Web サイトで非常に頻繁に使用されます。または数千のサブシステムが存在し、ユーザーの操作やトランザクションには数十のサブシステムのコラボレーションが含まれる場合があります。
各サブシステムでユーザー認証が必要な場合、ユーザーが混乱するだけでなく、各サブシステムも同様にこのロジックが繰り返されます。認証と認可はクレイジーです。
最終的な分析として、シングル サインオンの実装とは、その信頼を生成して保存する方法、そして他のシステムがこの信頼の有効性をどのように検証するかを解決することです;
したがって、重要なポイントは次のとおりです。
1. ストレージ信頼
2. 検証信頼
上記の問題が解決され、冒頭で述べた効果が得られる限り、次のようにすることができます。 SSOと言われています。
SSO を実装する最も簡単な方法は Cookie を使用することです。実装プロセスは次のとおりです:
上記のソリューションが保存しているものを見つけるのは難しくありません。 Cookie では、この方法は実装が簡単ですが、すぐに次の 2 つの問題に疑問を持つようになります:
1. Cookie は安全ではありません
2. クロスドメイン ログインはnot allowed
For 最初の問題は、通常、Cookie を暗号化することで解決されます。2 番目の問題は欠陥です。実際、この解決策のアイデアは、クライアントに信頼関係を保存することです。これは、Cookie が必ずしも唯一の方法ではありません。Flash を使用してこの問題を解決することもできます。Flash の Shared Object API はストレージ機能を提供します。
一般的に、大規模システムではサーバー側に信頼関係を保存する方法が採用されます。実装プロセスは次のとおりです。
上記の解決策は次のとおりです。信頼関係をサーバー側に保存します。関係は別の SSO システム (当面はそう呼びましょう) に保存されます。これは単にクライアントからサーバーに移動されるだけですが、いくつかの問題を解決する必要があります:
1. 大量の一時的な性的信頼データを効率的に保存する方法
2. 情報転送プロセスの改ざんを防ぐ方法
3. SSO システムの作成方法ログイン システムと非ログイン システムを信頼する
最初の質問については、一般に、memcached に似た分散キャッシュ ソリューションを使用できます。これにより、スケーラブルなデータ ボリュームのメカニズムを提供できるだけでなく、効率的なデータ ボリュームも提供できます。アクセス。
2 番目の質問については、デジタル証明書署名または md5 などの方法によるデジタル署名方法が一般的に採用されています。これには、SSO システムが、メッセージを返すときに検証する必要があるパラメータに対して md5 を実行する必要があります。ログイン URL。トークンを暗号化して返します。
ログインする必要があるシステムが最終的に信頼関係を検証するとき、トークンを SSO システムに渡す必要があります。SSO システムは、情報が暗号化されているかどうかを識別できます。トークンの検証により認証されました。
最後の問題については、ホワイトリストによって解決できます。簡単に言うと、ホワイトリストに登録されているシステムのみが本番の信頼関係を要求できます。同様に、ホワイトリストに登録されているシステムのみがログインを免除されます。 。
以上がPHPでシングルサインオンを実装する原理は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
