feat: 登录机制改为账号+密码模式,默认账号root
This commit is contained in:
+4
-4
@@ -110,10 +110,10 @@ async def jwt_middleware(request: Request, call_next):
|
||||
|
||||
|
||||
@app.post("/api/login")
|
||||
async def login(password: str = Body(..., embed=True)):
|
||||
if password != ADMIN_PASSWORD:
|
||||
return JSONResponse(status_code=401, content={"detail": "密码错误"})
|
||||
token = create_jwt_token({"user": "admin"})
|
||||
async def login(username: str = Body(..., embed=True), password: str = Body(..., embed=True)):
|
||||
if username != "root" or password != ADMIN_PASSWORD:
|
||||
return JSONResponse(status_code=401, content={"detail": "账号或密码错误"})
|
||||
token = create_jwt_token({"user": username})
|
||||
return {"success": True, "token": token}
|
||||
|
||||
|
||||
|
||||
+6
-1
@@ -495,8 +495,13 @@
|
||||
<div class="modal-backdrop"></div>
|
||||
<div class="modal-content">
|
||||
<h3 id="loginTitle">系统登录</h3>
|
||||
<p>由于安全原因,请先验证您的密码</p>
|
||||
<p>由于安全原因,请先验证您的身份</p>
|
||||
<div class="form-group" style="margin-top: 16px;">
|
||||
<label>账号</label>
|
||||
<input type="text" id="loginUsername" class="form-input" value="root" readonly style="background-color: var(--td-bg-color-component); color: var(--td-text-color-secondary); cursor: not-allowed;">
|
||||
</div>
|
||||
<div class="form-group" style="margin-top: 16px;">
|
||||
<label>密码</label>
|
||||
<input type="password" id="loginPassword" class="form-input" placeholder="请输入密码以继续" onkeydown="if(event.key==='Enter') document.getElementById('loginBtn').click()">
|
||||
</div>
|
||||
<div class="modal-actions" style="margin-top: 24px;">
|
||||
|
||||
+3
-1
@@ -156,6 +156,8 @@ function showLoginModal() {
|
||||
loginInput.focus();
|
||||
|
||||
const handleLogin = async () => {
|
||||
const usernameInput = $('#loginUsername');
|
||||
const username = usernameInput ? usernameInput.value : 'root';
|
||||
const password = loginInput.value;
|
||||
if (!password) {
|
||||
showToast('请输入密码', 'warning');
|
||||
@@ -166,7 +168,7 @@ function showLoginModal() {
|
||||
loginBtn.textContent = '登录中...';
|
||||
const res = await api('/login', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ password })
|
||||
body: JSON.stringify({ username, password })
|
||||
});
|
||||
if (res.success && res.token) {
|
||||
localStorage.setItem('token', res.token);
|
||||
|
||||
Reference in New Issue
Block a user