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

Opened 13 years ago

Closed 13 years ago

#2863 closed enhancement (fixed)

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

Reported by: ebihara Owned by: ebihara
Priority: major Milestone: OpenPNE3alpha2
Component: 指定しない Version:
Keywords: Cc:

Description (last modified by ebihara)

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

pc_address は MemberConfig? に登録される値とする。

login_id とは登録権限の取得方法が異なるため、この機能の実装においては認証機構の改善も併せておこなうことになる。

Change History (8)

comment:1 Changed 13 years ago by ebihara

Milestone: OpenPNE3alpha1OpenPNE3alpha2

alpha2 に回します。

comment:2 Changed 13 years ago by ebihara

Description: modified (diff)

comment:3 Changed 13 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

r7937, r7938 で PCメールアドレスの登録が可能になったので、 #2879 の完了を待たずに着手します。

comment:4 Changed 13 years ago by ebihara

member モジュールの loginSuccess テンプレートにある login パーツに存在する loginBottom を、プラグイン側の plugins/sfOpenPNEAuthPCAddressPlugin/modules/member/config/view.yml でコンポーネントを指定させることで、 pc_address 登録ページへのリンクを貼るように検討していました。

ところがこれだと、 sfOpenPNEAuthPCAddressPlugin と sfOpenPNEAuthLoginIDPlugin など複数の認証プラグインが存在した場合、いずれかの loginBottom への拡張「しか」読み込まれないという事態になってしまいました。

ひとつの呼び出し元から複数のコンポーネントを読み込む手段がデフォルトでは存在しない以上、特定のプラグインの設定ファイル読み込みをおこなわないようにしたいところですが、設定ファイルを読み込むディレクトリを限定するためにはかなりコアのコードに手を入れなくてはならないため、現実的ではないように思えました。

有効な対処方法が思いつかないので保留にします。

comment:5 Changed 13 years ago by ebihara

Priority: minormajor

comment:6 Changed 13 years ago by ebihara

Description: modified (diff)

comment:7 Changed 13 years ago by ebihara

Keywords: 確認中 added

r8102, r8103 で実装しました。

以下のような実装になっています。

  • ログインには、 MemberConfig? の pc_address と AuthenticationPcAddress? の password を使用
  • #2892 で対応中のテンプレート拡張の仕組みを使って、新規登録用リンクをプラグインから動的に追加
  • loginID による認証を実装していた際にあらかじめ想定していた登録用クレデンシャルの仕組みを使い、招待メールに記載された登録用URLにアクセスすることで登録用の権限を取得する形にした

本件の対応により明らかになった現状の問題点は以下の通りです。これらは個別にチケットを作って対応します。

  • 権限付与の仕組みが統一されておらずバラバラでわかりづらい
  • register_end_action は固定値でも良い
  • 登録用アクションは専用のアクションクラスで共通化をしたい
  • メールアドレスのフォームを unset() していく実装はあまり好ましくない

comment:8 Changed 13 years ago by ebihara

Keywords: 確認中 removed
Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.