baserproject / basercms

baserCMS : Based Website Development Project
http://basercms.net
Other
165 stars 126 forks source link

【システム】ユーザの最終ログイン日時・ログイン回数を管理する #1620

Open yama opened 3 years ago

yama commented 3 years ago

概要

image

ユーザの最終ログイン日時と累計のログイン回数を管理できるようにします。 機能面は後日考えるとして、まずは情報表示のみです。

baserCMS version : v4.4.x

ryuring commented 3 years ago

最終ログイン日時は要望としてあがってくることがありますね。 どこにどう表示しましょうか。

yama commented 3 years ago

@ryuring image

/admin/users/ ユーザ一覧のどこかの列に割り込ませてみてはどうでしょうか?

ryuring commented 3 years ago

@yama よさそうですね。ログイン回数はどのような時に必要ですか??

yama commented 3 years ago

@ryuring

ありがとうございます! 直感的な話でしかないですが、数年の間に数回くらいしかログインしてない人と 1年で何十回もログインしている人とでは、「ブログの更新はこの人が向いてる」と いう見立てがだいぶ変わってきます。 自分が関わっている案件では、ログイン回数を見てそういう判斷をすることが多いです。 ログイン回数が多いスタッフは、サイトをよく見ているので、話を聞くと面白いです。 サイトリニューアルの時でも、いろいろアイデアを出してもらえたりします。 結果的に、意外なスタッフがサイトを盛り立てることに貢献できるようになります。

逆に、ほとんどログインしてないスタッフには運用から外れてもらったりします。 セキュリティの話とも関係します。ほほ参加しないスタッフのアカウントは 休止扱いにします。

ryuring commented 3 years ago

@yama

1年で何十回もログインしている人とでは、「ブログの更新はこの人が向いてる」という見立てがだいぶ変わってきます。

これはログイン回数というより執筆回数の方が判断材料になるかなと思いました。 あってもよいかと思いますが、回数はそこまで重要性を感じないかな。

baserコアの基本コンセプトとして、できるだけ機能を縮小してミニマムにというのがあるので、増やすものはある程度しっかりジャッジしていきたいです。

@gondoh @kaburk いかがでしょう?

yama commented 3 years ago

@ryuring サポートの時も役に立つと思います。「ログインできなくなった」と 連絡を受けたら、どのくらいの頻度でログインしている人なのかを見るので。 個人的にはCMSとしてはわりと必須な情報だと思っているのですが・・

yama commented 3 years ago

@ryuring

今日たまたまインシデント対応のお手伝いをさせていただいたのですが、 担当者さんのログイン情報がどこにも記録されていないために苦戦しました。 (誰が投稿したか分からないデータがあったため) やはりこの種の情報はあったほうがいいと思います。

追加で、last_ip(IPアドレス)とlast_ua(user agent)もあれば、問題発生時の 対応で役に立つと思います。検討をお願いします。

ryuring commented 3 years ago

@yama なるほど。

@gondoh @kaburk ご意見くださいー

kaburk commented 3 years ago

いいと思います! 個人的にはログイン履歴があると最終ログインもわかって良いかと思ってます。 (プラグイン実装でも良いですが、、、 https://github.com/baserproject/basercms/pull/1703 でログイン履歴やログイン複数回エラーでIPBANのプラグインができそうな想定です)

gondoh commented 3 years ago

いいと思います!

2点思うことがあります。 ログイン回数をカウントアップする実装をどうするか。 ログイン時イベントも追加したいなぁ。

yama commented 3 years ago

image

ログイン履歴があると最終ログインもわかって良いか

それならdblogsテーブルが使えるかも?と思って確認してみましたが、今のカラム構成だと ちょっと足りない感じ。たとえば「controller」「action」などのカラムがあれば ログイン履歴の情報だけselectできるのですが。dblogsをそのように整備できると、 他の用途でもそこそこ本格的なログ管理ができそうですね。

ちゃんとした改修にしようとすると大がかりになるので、それを考えるとプラグイン実装で 仮実装みたいな感じにしたほうがいいのかな・・