Opened 13 years ago
Closed 13 years ago
#2848 closed enhancement (fixed)
login_id と password による認証機能の追加
Reported by: | ebihara | Owned by: | ebihara |
---|---|---|---|
Priority: | minor | Milestone: | OpenPNE3alpha1 |
Component: | 指定しない | Version: | |
Keywords: | Cc: |
Description (last modified by )
login_id と password による認証機能の追加
Attachments (1)
Change History (7)
comment:1 Changed 13 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:2 Changed 13 years ago by
Changed 13 years ago by
Attachment: | ピクチャ 2.png added |
---|
OpenPNE3 の認証処理を担う sfOpenPNESecurityUser 周りのクラス図 (案)
comment:4 Changed 13 years ago by
Description: | modified (diff) |
---|---|
Summary: | pc_address と password による認証機能の追加 → login_id と password による認証機能の追加 |
pc_address は認証だけに使う情報とは限らないので、ここでは保留とし、ひとまず login_id と password による認証機能を実装することにします。
comment:5 Changed 13 years ago by
Keywords: | 確認中 added |
---|
以下のリビジョンで対応しました。
- 認証用の暫定的なスキーマ定義, モデル生成 : r7812, r7813, r7814, r7815
- 開発用初期データを追加 (propel:data-load で投入可) : r7816
- 認証用プラグイン作成 : r7817, r7818, r7819, r7820, r7821, r7822, r7823, r7824, r7825, r7832
- sfOpenPNEAuthContainer_PCAddress -> sfOpenPNEAuthLoginID : r7826, r7827, r7828, r7829, r7830
- app.yml で認証方法を選択できるようにした : r7831
簡単な解説を以下にまとめます。
- sfOpenPNESecurityUser を使って認証したい場合、 apps/[application]/lib/myUser.class.php で定義される myUser クラスの親クラスを sfOpenPNESecurityUser に変更する
- sfOpenPNESecurityUser は、 app.yml の openpne_auth_mode の値に従って認証方法を決定する。これにより、認証処理をおこなうための sfOpenPNEAuthContainer_[openpne_auth_mode] と、認証方法に従ったフォームバリデーションの機構を提供する sfOpenPNEAuthForm_[openpne_auth_mode] のインスタンスが作成される
- ログイン用のアクションにおいては、まず sfOpenPNEAuthForm_[openpne_auth_mode] のインスタンスからテンプレートにフォームを表示し、そのフォームから受け取ることのできる認証に必要なリクエストパラメータのバリデーションを sfOpenPNEAuthForm_[openpne_auth_mode] にておこなった後、 sfOpenPNESecurityUser::login() に sfOpenPNEAuthForm_[openpne_auth_mode] のインスタンスを渡す。 sfOpenPNESecurityUser::login() は内部的に sfOpenPNEAuthContainer_[openpne_auth_mode]::fetchData() をコールし、リクエストパラメータの値によって認証を許可するかどうかを判断する
ある程度まとまった解説については、登録処理の完成後に作成することにします。
comment:6 Changed 13 years ago by
Keywords: | 確認中 removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
とりあえず fixied としてクローズします。
このチケットで実装したものなどについて問題点などある場合は alpha2 以降で defect チケットを作って対応してください。
Note: See
TracTickets for help on using
tickets.
OpenPNE3 の認証処理を担う sfOpenPNESecurityUser 周りのクラス図を描いてみました。
このクラス図のうち、
を実装していくことになると思います。