feat: 添加用户登录认证功能,确保系统安全性,并提供修改密码和退出登录选项
This commit is contained in:
43
README.md
43
README.md
@@ -61,7 +61,48 @@ python app.py
|
||||
|
||||
默认访问:`http://127.0.0.1:5000`
|
||||
|
||||
### 2.4 可选:启用 AI 补货建议(硅基流动)
|
||||
### 2.4 登录认证(默认开启)
|
||||
|
||||
系统启动后会自动启用登录保护,未登录用户会被重定向到登录页。
|
||||
|
||||
- 默认管理员用户名:`admin`
|
||||
- 默认管理员密码:`admin123456`
|
||||
|
||||
可通过环境变量覆盖默认账号:
|
||||
|
||||
```powershell
|
||||
$env:INVENTORY_ADMIN_USERNAME="你的管理员用户名"
|
||||
$env:INVENTORY_ADMIN_PASSWORD="你的管理员密码"
|
||||
```
|
||||
|
||||
首次登录后,建议立即在页面右上角进入“修改密码”完成改密。
|
||||
|
||||
#### 2.4.1 忘记密码救砖
|
||||
|
||||
如果还能登录:
|
||||
|
||||
- 右上角 `账号` -> `修改密码`
|
||||
|
||||
如果已经无法登录,可在项目根目录执行下面命令重置 `admin` 密码(将示例密码替换为你自己的强密码):
|
||||
|
||||
```powershell
|
||||
c:/Users/BeihongWang/Desktop/inventory/.venv/Scripts/python.exe -c "from app import app,db,User,generate_password_hash; ctx=app.app_context(); ctx.push(); u=User.query.filter_by(username='admin').first(); u.password_hash=generate_password_hash('NewPass123!'); db.session.commit(); print('admin password reset ok'); ctx.pop();"
|
||||
```
|
||||
|
||||
执行完成后,用新密码重新登录。
|
||||
|
||||
如果要重置非 `admin` 账号,可用通用模板(把 `target_username` 和 `NewPass123!` 改成你的值):
|
||||
|
||||
```powershell
|
||||
c:/Users/BeihongWang/Desktop/inventory/.venv/Scripts/python.exe -c "from app import app,db,User,generate_password_hash; target_username='your_username'; new_password='NewPass123!'; ctx=app.app_context(); ctx.push(); u=User.query.filter_by(username=target_username).first(); print('user found:', bool(u)); (setattr(u, 'password_hash', generate_password_hash(new_password)), db.session.commit(), print('password reset ok')) if u else print('skip reset'); ctx.pop();"
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
- `INVENTORY_ADMIN_PASSWORD` 仅在“系统中还没有任何用户”时用于创建默认管理员。
|
||||
- 如果数据库里已经有用户,修改该环境变量不会自动改已有账号密码。
|
||||
|
||||
### 2.5 可选:启用 AI 补货建议(硅基流动)
|
||||
|
||||
在启动前设置环境变量:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user