diff --git a/internal/web/actions/default/admins/admin.go b/internal/web/actions/default/admins/admin.go index 79bb9ca7..cb8408ee 100644 --- a/internal/web/actions/default/admins/admin.go +++ b/internal/web/actions/default/admins/admin.go @@ -45,6 +45,7 @@ func (this *AdminAction) RunGet(params struct { "isOn": admin.IsOn, "isSuper": admin.IsSuper, "canLogin": admin.CanLogin, + "hasWeakPassword": admin.HasWeakPassword, "countAccessKeys": countAccessKeys, } diff --git a/internal/web/actions/default/admins/index.go b/internal/web/actions/default/admins/index.go index e9782da8..49a18912 100644 --- a/internal/web/actions/default/admins/index.go +++ b/internal/web/actions/default/admins/index.go @@ -15,34 +15,46 @@ func (this *IndexAction) Init() { this.Nav("", "", "") } -func (this *IndexAction) RunGet(params struct{}) { - countResp, err := this.RPC().AdminRPC().CountAllEnabledAdmins(this.AdminContext(), &pb.CountAllEnabledAdminsRequest{}) - if err != nil { - this.ErrorPage(err) - return - } - page := this.NewPage(countResp.Count) - this.Data["page"] = page.AsHTML() +func (this *IndexAction) RunGet(params struct { + Keyword string + HasWeakPassword bool +}) { + this.Data["keyword"] = params.Keyword + this.Data["hasWeakPassword"] = params.HasWeakPassword - adminsResp, err := this.RPC().AdminRPC().ListEnabledAdmins(this.AdminContext(), &pb.ListEnabledAdminsRequest{ - Offset: page.Offset, - Size: page.Size, + countResp, err := this.RPC().AdminRPC().CountAllEnabledAdmins(this.AdminContext(), &pb.CountAllEnabledAdminsRequest{ + Keyword: params.Keyword, + HasWeakPassword: params.HasWeakPassword, }) if err != nil { this.ErrorPage(err) return } - adminMaps := []maps.Map{} + var page = this.NewPage(countResp.Count) + this.Data["page"] = page.AsHTML() + + adminsResp, err := this.RPC().AdminRPC().ListEnabledAdmins(this.AdminContext(), &pb.ListEnabledAdminsRequest{ + Keyword: params.Keyword, + HasWeakPassword: params.HasWeakPassword, + Offset: page.Offset, + Size: page.Size, + }) + if err != nil { + this.ErrorPage(err) + return + } + var adminMaps = []maps.Map{} for _, admin := range adminsResp.Admins { adminMaps = append(adminMaps, maps.Map{ - "id": admin.Id, - "isOn": admin.IsOn, - "isSuper": admin.IsSuper, - "username": admin.Username, - "fullname": admin.Fullname, - "createdTime": timeutil.FormatTime("Y-m-d H:i:s", admin.CreatedAt), - "otpLoginIsOn": admin.OtpLogin != nil && admin.OtpLogin.IsOn, - "canLogin": admin.CanLogin, + "id": admin.Id, + "isOn": admin.IsOn, + "isSuper": admin.IsSuper, + "username": admin.Username, + "fullname": admin.Fullname, + "createdTime": timeutil.FormatTime("Y-m-d H:i:s", admin.CreatedAt), + "otpLoginIsOn": admin.OtpLogin != nil && admin.OtpLogin.IsOn, + "canLogin": admin.CanLogin, + "hasWeakPassword": admin.HasWeakPassword, }) } this.Data["admins"] = adminMaps diff --git a/internal/web/actions/default/dashboard/index.go b/internal/web/actions/default/dashboard/index.go index 68f216f1..897c78b6 100644 --- a/internal/web/actions/default/dashboard/index.go +++ b/internal/web/actions/default/dashboard/index.go @@ -276,5 +276,13 @@ func (this *IndexAction) RunPost(params struct{}) { } } + // 弱密码提示 + countWeakAdminsResp, err := this.RPC().AdminRPC().CountAllEnabledAdmins(this.AdminContext(), &pb.CountAllEnabledAdminsRequest{HasWeakPassword: true}) + if err != nil { + this.ErrorPage(err) + return + } + this.Data["countWeakAdmins"] = countWeakAdminsResp.Count + this.Success() } diff --git a/web/views/@default/admins/createPopup.html b/web/views/@default/admins/createPopup.html index 0fd951d8..e12c547e 100644 --- a/web/views/@default/admins/createPopup.html +++ b/web/views/@default/admins/createPopup.html @@ -33,17 +33,17 @@
选中后才可以登录当前的管理平台。
+选中后,当前管理员才可以登录当前的管理平台。
超级管理员自动拥有所有的管理权限。
+选中后,表示当前管理员为超级管理员;超级管理员自动拥有所有的管理权限。
| 用户名 | @@ -13,12 +36,13 @@||||
|---|---|---|---|---|
| {{admin.username}}
-
- |
-
+
{{admin.fullname}} |
+
Y
N
diff --git a/web/views/@default/admins/index.js b/web/views/@default/admins/index.js
index b0820c9e..bbf8755e 100644
--- a/web/views/@default/admins/index.js
+++ b/web/views/@default/admins/index.js
@@ -1,7 +1,7 @@
Tea.context(function () {
this.createAdmin = function () {
teaweb.popup("/admins/createPopup", {
- height: "22em",
+ height: "30em",
callback: function () {
teaweb.success("保存成功", function () {
teaweb.reload()
diff --git a/web/views/@default/admins/update.html b/web/views/@default/admins/update.html
index adf6e8d6..b573dd69 100644
--- a/web/views/@default/admins/update.html
+++ b/web/views/@default/admins/update.html
@@ -33,17 +33,17 @@
|
| |
| 是否允许登录 | +允许登录 |
选中后才可以登录当前的管理平台。 +选中后,当前管理员才可以登录当前的管理平台。 |
||
| 是否为超级管理员 | +超级管理员 |
超级管理员自动拥有所有的管理权限。 +选中后,表示当前管理员为超级管理员;超级管理员自动拥有所有的管理权限。 |
||