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

Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#2866 closed defect (fixed)

ログイン停止やブラックリスト登録などでログインできないメンバーの最終ログイン時間が更新される

Reported by: imamura623 Owned by: masabon
Priority: minor Milestone: OpenPNE2.12.3
Component: 指定しない Version: 2.12.x & 2.14.x
Keywords: OpenPNE2.13.2 Cc:

Description (last modified by kudo)

■現象

メンバー画面からの「ログイン停止」や携帯個体識別番号によるブラックリスト登録などでログインできないメンバーがログイン処理を行った場合、ログインできていなくても最終ログイン時間が更新される

■原因

ログイン停止状態にあるメンバーもしくは個体識別番号ブラックリストに登録されているメンバーがログインを試みた場合、ログイン処理をおこなうアクション(pc_do_o_login, ktai_do_o_login, ktai_do_o_easy_login)を通過してからおこなわれる認証処理(auth.incにておこなわれる処理)によって、強制的にログアウトがおこなわれる。

ところが最終ログイン時間の更新はログイン処理をおこなうアクションにおいておこなわれるため、ログインさえ試みればログイン停止状態にあるメンバー、個体識別番号ブラックリストに登録されているメンバーであっても最終ログイン時間が更新されてしまっていた。

■修正内容

ログイン停止状態にあるメンバー、個体識別番号ブラックリストに登録されているメンバーであるかどうかをログイン処理をおこなうアクションでもチェックし、最終ログイン時間の更新をおこなう前にログイン失敗とするように修正した。

また、ログイン停止状態にあるメンバー、個体識別番号ブラックリストに登録されているメンバーがログインまたは認証をおこなった場合の処理を以下のように統一した。

  • ログイン済みの状態で、ログイン停止またはブラックリストに登録された場合
    • エラーメッセージを表示せずにログアウト
  • ログイン操作をおこなった場合(PC版)
    • pc_page_o_tologin に遷移し、「ログインできませんでした。」というエラーメッセージを表示させる
    • 最終ログイン時間は更新しない
  • ログイン操作をおこなった場合(携帯版)
    • 「ログインできませんでした。」というエラーメッセージが表示された画面に遷移する
    • 最終ログイン時間は更新しない

■関連情報

元のDescription

http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=18118 より転記

バグ、というか要望に近いですが、フィードバックしておきます。

大学で動かしているということもあり、学生のログイン停止という案件が比較的発生します。その際に、ログイン停止中の学生の最終ログイン日時が、ログインできないにもかかわらず、どんどん更新されており、調べました。

どうも、ログイン情報が正しければ、ログイン停止中でも、管理画面の最終ログインの日時は更新される様です。

実際にはログインできていないにもかかわらず、ログイン記録が更新されるのは仕様としてどうかとおもいますので、ご検討いただければ幸いです。

おそらく、IDとパスワードでログイン処理が行われた後に、ログイン停止フラグを見て弾いているためだと思うのですが、、、

Change History (22)

comment:1 Changed 13 years ago by nakasone

Owner: changed from nobody to nakasone
Status: newassigned

やります。

comment:2 Changed 13 years ago by nakasone

Keywords: 再現待ち removed
Owner: changed from nakasone to nobody
Status: assignednew

以下のような確認を行ったところ再現できました。

■確認ブラウザ

  • !FireFox2

■確認バージョン

  • 2.10.x(再現せず)
  • 2.12.x
  • trunk

■手順

  1. 管理画面→メンバー管理→メンバーリスト
  2. 最終ログイン時間を確認し、メンバーをログイン停止する
  3. ログイン停止されたメンバーで正しいログインパスワードでログインを試みる
  4. ログインできなかったのを確認
  5. 管理画面→メンバー管理→メンバーリスト
  6. 最終ログイン時間を確認
  7. 最終ログイン時間が更新されている

comment:3 Changed 12 years ago by kiwa

Keywords: OpenPNE2.13.2 added
Milestone: OpenPNE2.12.3

comment:4 Changed 12 years ago by masabon

Owner: changed from nobody to masabon
Status: newassigned

comment:5 Changed 12 years ago by masabon

Description: modified (diff)
Keywords: 確認中 added

以下のリビジョンで修正しました。

2.10ではバグが再現できませんでした。

comment:6 Changed 12 years ago by ebihara

Version: 2.10.x & 2.12.x & 2.13.x2.12.x & 2.13.x

nakasone さん

バグが発生しない場合はversionから指定を外しておいてください。

comment:7 Changed 12 years ago by ebihara

Keywords: テスト待ち added; 確認中 removed

comment:8 Changed 12 years ago by kiwa

Keywords: 差し戻し added; テスト待ち removed

以下の現象の確認をお願いします。

version

  • 2.12.2 (r8046時点)
  • 2.13.1 (r8046時点)

※2.10.8では再現せず

内容

ログイン停止されているメンバーで、携帯版ログイン画面(ktai_page_o_login)から「かんたんログイン」を使用してログインしようとすると、ログインはできないが最終ログイン時間は更新される。

手順

  1. 管理画面のメンバーリスト(admin_page_list_c_member)から、メンバーAの「ログイン停止」ボタンを押下してログイン停止する
  2. メンバーAで携帯版からログインページ(ktai_page_o_login)にアクセス、「かんたんログイン」ボタンを押下する
  3. ログインできず、ログインページ(ktai_page_o_login)にリダイレクトされる
  4. 管理画面のメンバーリスト(admin_page_list_c_member)でメンバーAの最終ログイン時刻を確認すると、2~3を行った時刻に更新されている

comment:9 Changed 12 years ago by kiwa

動作テスト中に「ログイン停止されているメンバーがメール投稿できる」というバグを発見しましたが、このチケットの内容に含まれていないため別チケットを作成しました。

#2946 ログイン停止ユーザがメール投稿できる

comment:10 Changed 12 years ago by ebihara

Keywords: 確認中 added; 差し戻し removed

かんたんログイン機能を使ってログイン処理をした場合、ログイン停止されてしまっているメンバーでも最終ログイン時間が更新されてしまっていたのを以下のリビジョンで修正しました。

comment:11 Changed 12 years ago by ogawa

Keywords: 差し戻し added; 確認中 removed

今回の修正の3ファイル共通ですが、db_member_is_login_rejected() に引っかかった場合には、その時点でログイン失敗の処理に回した方がよいと思います。

comment:12 Changed 12 years ago by ebihara

Keywords: 確認中 added; 差し戻し removed

以下のリビジョンで修正しました。ご確認ください。

comment:13 Changed 12 years ago by ogawa

Keywords: テスト待ち added; 確認中 removed

comment:14 Changed 12 years ago by kiwa

Keywords: 差し戻し added; テスト待ち removed

「ブラックリスト管理」で個体識別番号を使用したログイン停止を行った場合、以下のような現象が発生しています。確認をお願いします。

1. ログイン処理を行うと最終ログイン時間が更新される

  • PCからログイン
  • 携帯からログインフォームを使用したログイン
  • 携帯から簡単ログインを使用したログイン

2. ログインできなかった場合のエラーメッセージの表示方法が管理画面メンバーリスト(admin_page_list_c_member)からの「ログイン停止」と異なる

PC版

メンバーリストからのログイン停止
pc_page_o_tologinにて「ログインに失敗しました。再度、ログイン操作を行ってください。」
ブラックリストでのログイン停止
pc_page_o_tologinにて「ログインできませんでした。」

携帯版

メンバーリストからのログイン停止
ktai_page_o_loginにて「ログインに失敗しました」
ブラックリストでのログイン停止
エラー画面にて「ログインできませんでした。」

comment:15 in reply to:  14 Changed 12 years ago by kiwa

comment:14 補足

2. ログインできなかった場合のエラーメッセージの表示方法が管理画面メンバーリスト(admin_page_list_c_member)からの「ログイン停止」と異なる

今までメンバーリストからの「ログイン停止」を受けたメンバーがログイン処理を行った場合、エラーメッセージが表示されずにo_loginにリダイレクトされていました。それが comment:12 の仕様変更により通常のログイン失敗と同じ流れに変更されたため、エラーメッセージが表示されるようになりました。ブラックリストを使用したログイン停止の方は以前からエラーメッセージが表示される仕様でした。

ブラックリストからのログイン停止もメンバーリストからのログイン停止も、メンバー側から見たら「ログインが停止されている」だけで違いもありません。どちらともエラーメッセージが表示される仕様になったのであれば、ブラックリストとログイン停止で仕様を統一(表示するエラーメッセージを統一)するべきではないでしょうか。

comment:16 Changed 12 years ago by kiwa

Description: modified (diff)
Summary: ログイン停止しているメンバーの最終ログイン時間が更新されるログイン停止やブラックリスト登録などでログインできないメンバーの最終ログイン時間が更新される

修正範囲を広げるためにSummaryとDescription(「■現象」部分)を変更しました。

comment:17 Changed 12 years ago by ebihara

Description: modified (diff)
Keywords: 確認中 added; 差し戻し removed

以下のリビジョンで修正しました。

ログイン停止状態にあるかブラックリストに登録されているかにかかわらず、以下の挙動になるように実装を変更しました。

  • ログイン済みの状態で、ログイン停止またはブラックリストに登録された場合
    • エラーメッセージを表示せずにログアウト
  • ログイン操作をおこなった場合(PC版)
    • pc_page_o_tologin に遷移し、「ログインできませんでした。」というエラーメッセージを表示させる
    • 最終ログイン時間は更新しない
  • ログイン操作をおこなった場合(携帯版)
    • 「ログインできませんでした。」というエラーメッセージが表示された画面に遷移する
    • 最終ログイン時間は更新しない

comment:18 Changed 12 years ago by ogawa

Keywords: 差し戻し added; 確認中 removed

webapp_biz/modules/ktai_biz/auth.inc が修正されていません。

comment:19 Changed 12 years ago by ebihara

Keywords: 確認中 added; 差し戻し removed

以下のリビジョンで修正しました。

webapp/modules/ktai/auth.inc と webapp_biz/modules/ktai_biz/auth.inc については、 ktai モジュール側でおこなわれていたバグ修正が ktai_biz モジュール側で修正されていない以外の相違点がありませんでしたので、 webapp/modules/ktai/auth.inc を読み込むようにして対処しました。

comment:20 Changed 12 years ago by ogawa

Keywords: テスト待ち added; 確認中 removed

comment:21 Changed 12 years ago by kiwa

Keywords: テスト待ち removed
Resolution: fixed
Status: assignedclosed

確認しました。問題ありません。

comment:22 Changed 12 years ago by kudo

Description: modified (diff)
Note: See TracTickets for help on using tickets.