#1535 closed defect (fixed)
SlavePNEで初回認証後のプロフィール登録が完了しない
Reported by: | ogawa | Owned by: | ebihara |
---|---|---|---|
Priority: | major | Milestone: | OpenPNE2.10.2 |
Component: | pne-masterslave | Version: | 2.8.x & 2.10.x & 2.11.x |
Keywords: | OpenPNE2.8.7 OpenPNE2.11.2 | Cc: |
Description (last modified by )
■現象
SlavePNE有効時に初回認証後のプロフィール登録が完了せず、プロフィール入力画面が繰り返し表示されてしまう。
■原因
- c_password_query_id が登録できていなかった
■修正内容
- 「■関連情報」の修正パッチを適用
- #1544 の修正を適用
■関連情報
- 関連チケット:#1544
- 修正パッチ↓
Index: webapp/modules/pc/do/h_regist_prof.php =================================================================== --- webapp/modules/pc/do/h_regist_prof.php +++ webapp/modules/pc/do/h_regist_prof.php @@ -85,7 +85,7 @@ case "register": db_member_config_prof_new($u, $prof); db_member_update_c_member_profile($u, $c_member_profile_list); - db_member_update_password_query($u, $prof['password_query_id'], $prof['password_query_answer']); + db_member_update_password_query($u, $prof['c_password_query_id'], $prof['c_password_query_answer']); //管理画面で指定したコミュニティに強制参加 $c_commu_id_list = db_commu_regist_join_list(); foreach ($c_commu_id_list as $c_commu_id) {
Change History (22)
comment:1 Changed 15 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:2 Changed 15 years ago by
おっと。上のコメントの括弧のなかが大変なことに。
このバグだと
$c_member['c_password_query_id'] }} が0に、 {{{ $c_member['secure']['hashed_password_query_answer'] }}} がd41d8cd98f00b204e9800998ecf8427e(空文字列のmd5ハッシュ値)になるため、チェックに引っかからない ですね。
comment:3 Changed 15 years ago by
再度訂正。
$c_member['c_password_query_id']
が0に、
$c_member['secure']['hashed_password_query_answer']
がd41d8cd98f00b204e9800998ecf8427e(空文字列のmd5ハッシュ値)になるため、チェックに引っかからない
comment:4 Changed 15 years ago by
Keywords: | 確認中 added |
---|---|
Owner: | changed from ebihara to ogawa |
Status: | assigned → new |
r4632で修正しました。
パッチで修正されている内容も原因のひとつではあるのですが、一番大きな要因はファンクションキャッシュがクリアできていなかったことでした。
ということで、SlavePNEの登録に関わる他のコードも見てみたのですが、
- プロフィール項目入力済かどうかを判定する際は、 db_member_check_param_inputed() を共通して使用している
- db_member_check_param_inputed()以外に、SlavePNE 独自で使用している関数は見あたらない
- 既存の関数でファンクションキャッシュを用いている箇所でも、適切にキャッシュを削除しており、確認をした限りでは問題なく動作している
ということで、今回修正した箇所以外には特に問題は見あたりませんでした。
なお、プロフィール項目登録だけでなく、メールアドレス登録も完了せずにループしてしまうという現象がありましたが、同じ db_member_check_param_inputed() を使用しているため、r4632 で改善されたようです。
ご確認ください。
comment:5 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:8 Changed 15 years ago by
Keywords: | OpenPNE2.11.2 added |
---|---|
Milestone: | → OpenPNE2.10.2 |
comment:10 Changed 15 years ago by
Owner: | changed from ogawa to ebihara |
---|---|
Status: | new → assigned |
確認します
comment:11 Changed 15 years ago by
Keywords: | ご確認ください added |
---|---|
Owner: | changed from ebihara to ogawa |
Status: | assigned → new |
以下のリビジョンでメールアドレス登録後のファンクションキャッシュクリアに対応しました。
- trunk - r4636:4637
- 2.10.x - r4638
ktaiモジュールについても、PC版と同様に db_member_check_param_inputed() でプロフィール登録が完了しているかどうかチェックしているため、PC版で適切にキャッシュがクリアされてさえいれば問題ないように見えます。
comment:12 Changed 15 years ago by
Keywords: | 確認中 added; ご確認ください removed |
---|
ktaiモジュールについても、PC版と同様に db_member_check_param_inputed() でプロフィール登録が完了しているかどうかチェックしているため、PC版で適切にキャッシュがクリアされてさえいれば問題ないように見えます。
のコメントは間違いでした。
ただし、プロフィールの登録処理においても、PC版と同一の関数を使用しており、db_member_update_password_query() で適切にキャッシュのクリアをおこなっているため、問題ないと思います。
comment:13 Changed 15 years ago by
comment:14 Changed 15 years ago by
Keywords: | OpenPNE2.8.7 added; 確認中 removed |
---|---|
Owner: | changed from ogawa to nobody |
Version: | 2.10.x & 2.11.x → 2.8.x & 2.10.x & 2.11.x |
2.8系も修正しましょう。
comment:15 Changed 15 years ago by
Keywords: | 確認中 added |
---|---|
Owner: | changed from nobody to ogawa |
r4643で2.8系へも修正しました。
ご確認ください。
comment:16 Changed 15 years ago by
Keywords: | 確認中 removed |
---|---|
Owner: | changed from ogawa to ebihara |
comment:17 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:18 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:19 Changed 15 years ago by
Keywords: | テスト待ち added |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
動作テストが完了していないのでテスト待ちに変更します
comment:20 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:21 Changed 15 years ago by
Keywords: | テスト待ち removed |
---|
comment:22 Changed 15 years ago by
Description: | modified (diff) |
---|
このコードが間違っているのは間違いないんですが、auth.incの
という間違った値チェックによって、再現しませんでした(このバグだと$c_memberc_password_query_id?が0に、$c_membersecure?hashed_password_query_answer?がd41d8cd98f00b204e9800998ecf8427e(空文字列のmd5ハッシュ値)になるため、チェックに引っかからない)。空文字列がmd5()に渡されることによって空文字列が返るPHPのバージョンがある、なんてこともなさそうです。
このチェックを正すのと、パッチの適用はやるべきだとは思いますが、プロフィール登録が完了しない件については別の原因かもしれません。引き続き調査してみます。