ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Closed 11 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 ebihara)

login_id と password による認証機能の追加

Attachments (1)

ピクチャ 2.png (40.0 KB) - added by ebihara 11 years ago.
OpenPNE3 の認証処理を担う sfOpenPNESecurityUser 周りのクラス図 (案)

Download all attachments as: .zip

Change History (7)

comment:1 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

comment:2 Changed 11 years ago by ebihara

OpenPNE3 の認証処理を担う sfOpenPNESecurityUser 周りのクラス図を描いてみました。

このクラス図のうち、

  • sfOpenPNESecurityUser
  • sfOpenPNEAuthContainer
  • sfOpenPNEAuthContainer_PcAddress

を実装していくことになると思います。

Changed 11 years ago by ebihara

Attachment: ピクチャ 2.png added

OpenPNE3 の認証処理を担う sfOpenPNESecurityUser 周りのクラス図 (案)

comment:3 Changed 11 years ago by ebihara

ログイン処理については、 member モジュールの login アクションでおこなう形で実装しようと思います。

comment:4 Changed 11 years ago by ebihara

Description: modified (diff)
Summary: pc_address と password による認証機能の追加login_id と password による認証機能の追加

pc_address は認証だけに使う情報とは限らないので、ここでは保留とし、ひとまず login_id と password による認証機能を実装することにします。

comment:5 Changed 11 years ago by ebihara

Keywords: 確認中 added

以下のリビジョンで対応しました。

簡単な解説を以下にまとめます。

  • 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 11 years ago by ebihara

Keywords: 確認中 removed
Resolution: fixed
Status: assignedclosed

とりあえず fixied としてクローズします。

このチケットで実装したものなどについて問題点などある場合は alpha2 以降で defect チケットを作って対応してください。

Note: See TracTickets for help on using tickets.