-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
管理画面ログイン履歴とIPアドレスによるアクセス拒否を実装 #4978
管理画面ログイン履歴とIPアドレスによるアクセス拒否を実装 #4978
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 4.1-feature #4978 +/- ##
=================================================
+ Coverage 76.18% 76.36% +0.17%
- Complexity 6124 6190 +66
=================================================
Files 437 445 +8
Lines 20736 20955 +219
=================================================
+ Hits 15798 16002 +204
- Misses 4938 4953 +15
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
環境変数 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
途中まで確認して問題ありませんでした。
Symfony4 対応に向けていくつかコメントしました。
確認残は
- テンプレート
- テスト
- マイグレーション
- FormAppend
- クエリビルダーのカスタマイズ
src/Eccube/Controller/Admin/Setting/System/LoginHistoryController.php
Outdated
Show resolved
Hide resolved
src/Eccube/Controller/Admin/Setting/System/LoginHistoryController.php
Outdated
Show resolved
Hide resolved
src/Eccube/Controller/Admin/Setting/System/LoginHistoryController.php
Outdated
Show resolved
Hide resolved
postgres10 にてバージョンアップテスト bin/console doctrine:schema:update --force --dump-sql
The following SQL statements will be executed:
CREATE TABLE dtb_login_history (id SERIAL NOT NULL, login_history_status_id SMALLINT NOT NULL, member_id INT DEFAULT NULL, user_name TEXT DEFAULT NULL, client_ip TEXT DEFAULT NULL, create_date TIMESTAMP(0) WITH TIME ZONE NOT NULL, update_date TIMESTAMP(0) WITH TIME ZONE NOT NULL, discriminator_type VARCHAR(255) NOT NULL, PRIMARY KEY(id));
CREATE INDEX IDX_6191DD4F9FA62FDD ON dtb_login_history (login_history_status_id);
CREATE INDEX IDX_6191DD4F7597D3FE ON dtb_login_history (member_id);
COMMENT ON COLUMN dtb_login_history.create_date IS '(DC2Type:datetimetz)';
COMMENT ON COLUMN dtb_login_history.update_date IS '(DC2Type:datetimetz)';
CREATE TABLE mtb_login_history_status (id SMALLINT NOT NULL, name VARCHAR(255) NOT NULL, sort_no SMALLINT NOT NULL, discriminator_type VARCHAR(255) NOT NULL, PRIMARY KEY(id));
ALTER TABLE dtb_login_history ADD CONSTRAINT FK_6191DD4F9FA62FDD FOREIGN KEY (login_history_status_id) REFERENCES mtb_login_history_status (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE dtb_login_history ADD CONSTRAINT FK_6191DD4F7597D3FE FOREIGN KEY (member_id) REFERENCES dtb_member (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE;
Updating database schema...
8 queries were executed
[OK] Database schema updated successfully!
|
</div> | ||
</div> | ||
|
||
{# エンティティ拡張の自動出力 #} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dk-umebius
こちらって SearchLoginHistoryType->configureOptions()
で data_class
が定義されていないので実質出力できないですよね?
他の検索画面のテンプレートにも「エンティティ拡張の自動出力」入っていますが、出力方法がわかりません。。。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FormTypeのeccube_form_optionsオプションで追加するものですよね。
https://github.com/EC-CUBE/mail-magazine-plugin/blob/6ff710f8e6f342a11b1121889c8656af796b159b/Form/Extension/EntryMailMagazineTypeExtension.php#L75-L78
確かに「エンティティ拡張」ではないですよね..。いつからかこの表現のまま残っていたんでしょうか。全く気付きませんでした。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
勉強になりました。
FormAppend
用とばかり思っていました。
ずっと勘違いしていましたので、このコメントは過去の私がやらかした気もします。。。
QueryBuilder の拡張も問題なく動いていました。 <?php
namespace Customize\Repository;
use Eccube\Doctrine\Query\OrderByClause;
use Eccube\Doctrine\Query\OrderByCustomizer;
use Eccube\Repository\QueryKey;
class AdminLoginHistoryListCustomizer extends OrderByCustomizer
{
/**
* 常にユーザ名でソートする。
*/
protected function createStatements($params, $queryKey)
{
return [new OrderByClause('lh.user_name')];
}
public function getQueryKey()
{
return QueryKey::LOGIN_HISTORY_SEARCH_ADMIN;
}
} |
@dk-umebius マイグレーションの処理で気になったところがあったのでプルリクしました。 ご確認と取り込みをお願いできますでしょうか。 |
管理画面ログイン履歴機能の微調整をしました
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
修正ありがとうございます。マージさせていただきました。
</div> | ||
</div> | ||
|
||
{# エンティティ拡張の自動出力 #} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FormTypeのeccube_form_optionsオプションで追加するものですよね。
https://github.com/EC-CUBE/mail-magazine-plugin/blob/6ff710f8e6f342a11b1121889c8656af796b159b/Form/Extension/EntryMailMagazineTypeExtension.php#L75-L78
確かに「エンティティ拡張」ではないですよね..。いつからかこの表現のまま残っていたんでしょうか。全く気付きませんでした。
マージありがとうございます! |
@dk-umebius |
IP制限(拒否リスト)とログイン履歴とE2Eテストを追加
@okazy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ありがとうございます!
動作確認、ソースコード確認して問題ありませんでした。
ログイン履歴の結合試験項目書を追加しました。 @dk-umebius |
@dk-umebius ありがとうございます!マージしました。 |
概要(Overview・Refs Issue)
#4847
方針(Policy)
実装に関する補足(Appendix)
4.0系プラグインから若干設計を変更しています。
問題があればご指摘願います。
テスト(Test)
日本語と英語の設定でインストール、ログイン、検索確認
相談(Discussion)
検索画面のinitializeと言ったフックポイントを追加していません。新画面でフックポイントは追加した方がよいのでしょうか?
マイナーバージョン互換性保持のための制限事項チェックリスト
レビュワー確認項目