2011-08-02 4 views
0

私は最近、あなたがユーザーアイデンティティに複数のopenidを割り当てることができることをよく見ました。1つのアイデンティティを持ち、複数のopenidを持つログインシステム - 意味がありますか? ZFでの実装方法

  • a)実装するのが理にかなっていますか、1つのプロファイルに1つのOpenIDだけを割り当てますか?
  • b)これをZend Framework MVC環境でどのように実装しますか?コード例/チュートリアルはありますか?これまで

私のアイデア:私はasp.netのために似た何かを見つけ

http://www.west-wind.com/weblog/posts/2009/Sep/17/Integrating-OpenID-in-an-ASPNET-MVC-Application-using-DotNetOpenAuth

  • データベースモデル:ユーザープロファイルとに割り当てられているのOpenIDのための第二のテーブル表ユーザ(MySQL)。
  • ログインProzess:
  • 。 Zend_Auth_Adapter_OpenId +でログインする(新規ユーザーの場合はOpenIdからプロファイル情報を取得する)
  • b。ユーザーが存在するかどうかを確認します。そうでない場合は、OpenIdプロファイルからユーザを作成し、ユーザプロファイルをリダイレクトしてユーザ情報を確認してください。
  • c。ユーザーが存在する場合は、openidを確認して、データベースからユーザープロファイルを取得します。
  • d。アプリケーション全体から簡単にアクセスできるZend_Authモデル内のすべての情報とビジネスロジックを安全にしてください。

私はZendに慣れていないので、zend authコントローラを拡張する方法に関するヒントこのニーズに合わせるには?誰かが私にいくつかのコード例やチュートリアルを提供することができれば、さらに多くのことができます。

ありがとうございます!

答えて

1

これは実装しても意味がないか1つのプロファイルだけのOpenIDを割り当てますでしょうか?

OpenIdが配布されていることを覚えておく必要があります。これは、ログインサービスを制御していないことを意味します。ユーザのプライマリOpenIDプロバイダがダウンタイムを持っている場合、サーバは正常に動作していますが、ユーザはアプリケーションにログインできません。

ユーザーに複数のOpenIdを提供させると、アプリケーションにアクセスできないリスクを最小限に抑えることができます。


私は私のペットプロジェクトSemanticScuttleで同じ問題について考えてきた、と私は間違いなく一人のユーザーのために、いくつかのOpenIDを実装します。

+0

ねえ、実装しましたか?はいの場合はどうですか?私はそれを実装する方法に苦労しています。そこには多くの例がありますが、認証のためだけです。ユーザーの役割と安全なユーザーの連絡先情報を適用するには、ローカルユーザーデータベースが必要です。また、複数のoauthとopenidをユーザーIDに割り当てることができるようにします。ログイン時には、ローカルIDからユーザーデータを取得し、zend_auth IDとして安全にする必要があります。 openidアカウントのローカルアカウントへの割り当てをどのように処理しますか?あなたは新しいアカウントの作成をどのように扱いますか? – Manuel

関連する問題