Opened 13 years ago
Last modified 12 years ago
#2438 assigned enhancement
SlavePNEだと個体識別番号必須制が反映されない
Reported by: | kiwa | Owned by: | shingo |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | pne-masterslave | Version: | 2.12.x & 2.14.x |
Keywords: | Cc: |
Description (last modified by )
■現象
- OPENPNE_AUTH_MODE:slavepne
- メンバー登録時の携帯個体識別番号取得設定:PC・携帯登録時に個体識別番号を必須にする
の場合、PCメールアドレス登録後に携帯メールアドレス登録を行わないため、携帯個体識別番号登録を完了せずにメンバー登録が完了してしまう。
■原因
SlavePNE時の登録フローでは仮データ登録後ログイン状態となるため、
既に実装されている個体識別番号必須性の機能をそのまま流用することができなくなっている。
◆通常の「個体識別番号必須制」のフロー
1.プロフィールの登録 ↓ (c_member_profile_pre に一時的にメンバー情報を登録) ↓ 2.携帯メールアドレス入力&送信 ↓ 3.携帯より携帯メールアドレスと個体識別番号の登録 ↓ (c_member_pre, c_member_profile_pre の仮情報を c_member, c_member_profile に本登録)
◆SlavePNEの登録フロー
1.SlavePNEログイン ↓ (c_member_profile_pre に一時的にメンバー情報を登録) ↓ 2.プロフィールの登録 ↓ (c_member, c_member_profile に本登録)
■修正内容
以下のような登録フローを新たに実装
(携帯個体識別番号が登録されているかをPC・ktaiモジュールのauth.incで確認を行う)
【PC版】 1.SlavePNEログイン ↓ (c_member_profile_pre に一時的にメンバー情報を登録) ↓ 2.プロフィールの登録 ↓ (c_member, c_member_profile に本登録) ↓ 3.個体識別番号を確認(auth.incで) ↓ (個体識別番号がない場合) ↓ 4.携帯メールアドレス入力&送信 ↓ 5.携帯より携帯メールアドレスと個体識別番号の登録(外部認証も確認する) ↓ (以後ログイン可能) 【携帯版】 1.SlavePNEログイン ↓ (c_member_profile_pre に一時的にメンバー情報を登録) ↓ 2.プロフィールの登録 ↓ (c_member, c_member_profile に本登録) ↓ 3.個体識別番号を確認(auth.incで) ↓ (個体識別番号がない場合) ↓ 4.個体識別番号入力ポップアップ ↓ 5.個体識別番号の登録 ↓ (以後ログイン可能)
※既に登録しているメンバーが従来通りログインできるように 既存メンバーにダミー個体識別番号を登録するsqlファイルを
setup/sql/各DBMS/option/
に設置
■関連情報
Change History (24)
comment:1 Changed 13 years ago by
Keywords: | OpenPNE2.12RC1 added |
---|---|
Milestone: | → OpenPNE2.10.7 |
comment:2 Changed 13 years ago by
Priority: | minor → major |
---|
comment:3 Changed 13 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:4 Changed 13 years ago by
Owner: | changed from ebihara to nobody |
---|---|
Priority: | major → minor |
Status: | assigned → new |
現象を確認することはできましたが、修正がやや困難になるため、プライオリティを下げます。
また、安定版やRCへの導入はやや危険かもしれません。
comment:5 Changed 13 years ago by
Keywords: | OpenPNE2.12RC2 added; OpenPNE2.12RC1 removed |
---|
comment:6 Changed 13 years ago by
Keywords: | OpenPNE2.10.7 added; OpenPNE2.12RC2 removed |
---|---|
Milestone: | OpenPNE2.10.7 → OpenPNE2.12.1 |
安定版マイナーバージョンアップリリースに回します。
comment:7 Changed 13 years ago by
Keywords: | OpenPNE2.13.2 added |
---|
comment:8 Changed 13 years ago by
Keywords: | OpenPNE2.10.8 added; OpenPNE2.10.7 removed |
---|---|
Milestone: | OpenPNE2.12.1 → OpenPNE2.12.2 |
comment:9 Changed 13 years ago by
Keywords: | OpenPNE2.10.9 added; OpenPNE2.10.8 removed |
---|---|
Milestone: | OpenPNE2.12.2 → OpenPNE2.12.3 |
comment:10 Changed 12 years ago by
Keywords: | OpenPNE2.10.9 OpenPNE2.13.2 removed |
---|---|
Milestone: | OpenPNE2.12.3 → OpenPNE2.13.2 |
大規模な変更になるので、開発版で対応するべきです。
comment:11 Changed 12 years ago by
Milestone: | OpenPNE2.13.2 → OpenPNE2.13.3 |
---|
comment:12 Changed 12 years ago by
Type: | defect → enhancement |
---|
comment:13 Changed 12 years ago by
SlavePNE の場合、 do_o_login にてログインをおこなった時点で、 c_member, c_member_secure にダミーの情報が入力されます。その後、 auth.inc にて誕生日やメールアドレスなど必須のプロフィール項目が入力されているかどうかをチェックし、入力されていない場合はそれらの入力を促すページ(page_h_regist_prof, page_h_regist_address)にリダイレクトします。
一方で、個体識別番号必須性が有効になっている場合、 do_o_regist_pre にて c_member_pre, c_member_profile_pre に一時的にメンバー情報を登録し、携帯版で個体識別番号の登録をおこなうように促します。正常に個体識別番号の登録がおこなえたら、 c_member_pre, c_member_profile_pre に保持しておいた情報を、 c_member, c_member_profile に登録し直します。
SlavePNE では先に c_member を登録してしまうので、既に実装されている個体識別番号必須性の機能をそのまま流用することができません。そのため、本件へ対応するためには SlavePNE 専用の処理やアクションを新たに追加する必要があると思います。
プロフィールやメールアドレスが登録されているかどうかのチェックは auth.inc でおこなっていますが、個体識別番号についても同様に auth.inc にてチェックをおこなうよう変更することで対応できるでしょうか。
comment:15 Changed 12 years ago by
Owner: | changed from nobody to shingo |
---|---|
Status: | new → assigned |
作業します。
comment:17 Changed 12 years ago by
Keywords: | 確認中 added |
---|
comment:19 Changed 12 years ago by
●trunk - r8960 についての補足
text型からbytea型への型変換が自動でなされるかの確証が無かったため(postgres8.1では確認)、
CAST()変数で型変換を行った
※postgres7.4環境ではで動作確認しておりません
comment:20 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- r8949 の img.php を読み込んだかどうかの判別に PHP_SELF / SCRIPT_NAME は使うべきではありません。「OPENPNE_URL/index.php/img.php」のようなURLにアクセスすれば認証が突破できます
- このUPDATE SQLを実行すると、既存のメンバーでかんたんログイン設定をしていなかったメンバーがktai_page_h_config_easy_loginにアクセスすると「かんたんログイン設定済みです。」と表示されてしまいます
- 管理画面のCSVインポートからメンバー登録した際の挙動がSlavePNEでない場合と異なり、個体識別番号を登録しない限りログインできない、という挙動になってしまうのは問題ではないでしょうか
- changeset:8931/OpenPNE/trunk/webapp/lib/util/ktai.php 不要なコメントが追加されています
- 関数コメント内で「登録登録」となっている個所があります
comment:21 Changed 12 years ago by
登録者が携帯個体識別番号が登録できない場合に、ログインできないにもかかわらず c_member 登録済みでメール受信やプロフィール公開されてしまっている状況は好ましくないため、このチケットの修正方法自体を見直すべきと判断し、2.13.4のリリースからは外すこととします。
comment:23 Changed 12 years ago by
Milestone: | OpenPNE2.13.4 |
---|
comment:24 Changed 12 years ago by
Version: | 2.10.x & 2.12.x & 2.13.x → 2.12.x & 2.13.x |
---|
やります。