Skip to content

Commit de2ef38

Browse files
committed
chore[litemall-admin-api]: 演示相关代码删除,防止开发者没有评估引入安全问题。
1 parent 8a9ad3a commit de2ef38

File tree

3 files changed

+5
-29
lines changed

3 files changed

+5
-29
lines changed

doc/project.md

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,7 +1085,7 @@ http://www.example.com
10851085
本项目只是参考项目,项目代码质量和功能不可能符合开发者的最终需求,
10861086
因此开发者**请务必仔细评估项目代码**。
10871087
1088-
此外,请阅读1.7.7节,了解项目当前所有的TODO事项,特别是“演示平台TODO”
1088+
特别提醒,上线前管理员用户名和密码请更改,不能采用这里的默认值
10891089
10901090
### 1.6.6 项目优化
10911091
@@ -1236,6 +1236,7 @@ application配置文件中,但是问题就是数据库信息一旦改变则其
12361236
![](pic1/1-13.png)
12371237
![](pic1/1-14.png)
12381238
![](pic1/1-15.png)
1239+
12391240
其实原理也很简单,就是配置文件采用application-{module}-{profile}.yml来支持不同模块不同阶段的配置需求。
12401241
12411242
### 1.7.5 前后端校验
@@ -1304,16 +1305,7 @@ application配置文件中,但是问题就是数据库信息一旦改变则其
13041305
13051306
下面列出一些重要的TODO:
13061307
1307-
#### 1.7.7.1 演示平台TODO
1308-
1309-
管理后台部署以后,有开发者在演示平台修改密码,导致其他开发者不能登录演示平台。
1310-
因此在修改密码后端服务代码中加了限制代码,不允许用户修改userId=1的超级管理员密码。
1311-
1312-
因此如果开发者上线管理后台,请**务必删除**这些代码。
1313-
1314-
见`AdminProfileController`类和`AdminAdminController`类。
1315-
1316-
#### 1.7.7.2 微信退款TODO
1308+
#### 1.7.7.1 微信退款TODO
13171309
13181310
管理后台管理员点击退款按钮时,管理后台会通过微信退款API请求微信商户平台退款。
13191311
但是从安全角度考虑,**强烈建议**开发者删除微信退款代码,而登录微信商户平台手动退款。
@@ -1323,11 +1315,11 @@ application配置文件中,但是问题就是数据库信息一旦改变则其
13231315
13241316
再次提醒,本项目不承担任何使用后果。
13251317
1326-
#### 1.7.7.3 未完善TODO
1318+
#### 1.7.7.2 未完善TODO
13271319
13281320
有些业务只是实现基本功能,因此这里TODO提醒开发者自行思考。
13291321
1330-
#### 1.7.7.4 重构TODO
1322+
#### 1.7.7.3 重构TODO
13311323
13321324
有些业务需求不是很清晰,导致实现时可能存在不合理地方,这里TODO提醒
13331325
开发者审阅代码逻辑。

litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdminController.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,6 @@ public Object update(@LoginAdmin Integer adminId, @RequestBody LitemallAdmin adm
139139
if (anotherAdminId == null) {
140140
return ResponseUtil.badArgument();
141141
}
142-
// TODO 这里开发者需要删除以下检验代码
143-
// 目前这里不允许修改超级管理员是防止演示平台上他人修改管理员密码而导致登录失败
144-
if (anotherAdminId == 1) {
145-
return ResponseUtil.fail(ADMIN_ALTER_NOT_ALLOWED, "超级管理员不能修改");
146-
}
147142

148143
String rawPassword = admin.getPassword();
149144
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
@@ -167,11 +162,6 @@ public Object delete(@LoginAdmin Integer adminId, @RequestBody LitemallAdmin adm
167162
if (anotherAdminId == null) {
168163
return ResponseUtil.badArgument();
169164
}
170-
// TODO 这里开发者需要删除以下检验代码
171-
// 目前这里不允许删除超级管理员是防止演示平台上他人删除管理员账号而导致登录失败
172-
if (anotherAdminId == 1) {
173-
return ResponseUtil.fail(ADMIN_DELETE_NOT_ALLOWED, "超级管理员不能删除");
174-
}
175165

176166
adminService.deleteById(anotherAdminId);
177167
return ResponseUtil.ok();

litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminProfileController.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@ public Object create(@LoginAdmin Integer adminId, @RequestBody String body) {
3434
return ResponseUtil.unlogin();
3535
}
3636

37-
// TODO 这里开发者需要删除以下检验代码
38-
// 目前这里不允许修改超级管理员是防止演示平台上他人修改管理员密码而导致登录失败
39-
if (adminId == 1) {
40-
return ResponseUtil.fail(ADMIN_ALTER_NOT_ALLOWED, "超级管理员不能修改");
41-
}
42-
4337
String oldPassword = JacksonUtil.parseString(body, "oldPassword");
4438
String newPassword = JacksonUtil.parseString(body, "newPassword");
4539
if (StringUtils.isEmpty(oldPassword)) {

0 commit comments

Comments
 (0)