0

重複の可能性:
シングル サインオン - 実装方法は?

私は 2 つの異なる Web サイトを持っています。1 つはプロモーション用で、もう 1 つは を使用して製品を販売するためのものですcs-cart

ユーザーがプロモーション Web サイトにログインしたときに、ユーザーを cs-cart Web サイトにログインさせる機能を追加するにはどうすればよいですか?

4

6 に答える 6

1

これはSingle Sign Onと呼ばれるよく知られた要件であり、それを実装するための標準がいくつかあります。基本的な概念は、要求自体を評価するのではなく、1 つの Web サイト (ID コンシューマー) がユーザー認証要求を別の Web サイト (ID プロバイダー) に委任できるということです。あなたの場合、サイトの 1 つがプロバイダーになり、他のすべてのアフィリエイト サイトがコンシューマーになります。

最初の標準は、OASIS 標準化グループによって維持されているSAMLです。SAML はオープンで大規模であり、実際の例のほとんどは、SAML 仕様全体の小さなサブセットのみを実装しています。Google にはSAML SSO 統合があり、望ましいユース ケースのほとんどをカバーするSimpleSAMLという非常に優れた PHP ライブラリがあります。

この問題を解決するもう 1 つの標準は OpenID です。私はそれを扱ったことはありませんが、良い実装例は Stack Overflow そのものです。

同様の問題を解決し、Facebook を ID プロバイダーとして利用する Facebook Connect もあります。

これは、専門のサービス プロバイダーが自社のプラットフォームを他のプロバイダーと統合しようとしているため、現在注目されているトピックです。幸運を。

于 2011-08-24T19:46:07.357 に答える
0

私はJavaを使用してそれを行いましたが、PHPでも可能です.Cookieを使用するオプションがありますが、それは同じドメインでのみ機能します.また、サードパーティのソリューションを使用することもできます(これをお勧めします).

http://code.google.com/apis/apps/open_source_projects.html#sso

それについて助けが必要かどうか教えてください、頑張ってください

于 2011-08-03T20:09:11.130 に答える
0

site.old/superlogin.phpユーザー認証 Cookie を送信してリダイレクトするページを作成するsite.promo

ログイン後、site.promoユーザーをリダイレクトしますsite.old/superlogin.php?token=userUniqueTokenToAuthIt(認証されてリダイレクトされます)

于 2011-08-03T18:55:31.043 に答える
0

サイトがサーバーから離れて動作する場合は、同じデータベースを共有できるので簡単です。Cookie を使用することもできますが、簡単に変更でき、問題を引き起こさない方法がわかりません。私がそれを行う方法は、登録/ログインするたびにIPをユーザー情報とともにデータベースに配置して、両方のサイトに行くたびにIPを確認できるようにすることです.

于 2011-08-03T19:01:34.910 に答える
0

site1 と site2 があります。
ユーザーが site1 にログインしました。

  1. 彼が site2 にアクセスすると、ブラウザは site1-authorization-page にリダイレクトされ、そこでユーザーがすでにログインしているかどうかがチェックされます。
  2. このスクリプトは、(site2 のデータベースまたは同じ DB で) ユーザー "logged_in_at_site2"=True (またはそのようなもの) をマークします。
  3. ブラウザは site2 にリダイレクトされます。(この段階で、ユーザーはすでにログイン済みとしてマークされています)

また、最後のリダイレクト後にユーザーを識別するために、site2 の Cookie を作成する必要があります。

これらすべてを理解するには、ソーシャルネットワークにログインすることをお勧めします. (例えばフェイスブック)

于 2011-08-03T19:03:23.327 に答える
-1

はい、この 2 つのサイトが同じデータベースを共有している場合のみ

于 2011-08-03T18:55:34.383 に答える