perf: Check user status

This commit is contained in:
fit2cloud-chenyw
2025-07-25 18:08:32 +08:00
parent 5c48efa023
commit 2b1432249a
2 changed files with 20 additions and 2 deletions
+6
View File
@@ -62,7 +62,13 @@ class TokenMiddleware(BaseHTTPMiddleware):
try:
with Session(engine) as session:
session_user = await get_user_info(session = session, user_id = token_data.id)
if not session_user:
raise Exception(f"User not found with id: {token_data.id}")
session_user = UserInfoDTO.model_validate(session_user)
if session_user.status != 1:
raise Exception(f"User is not active!")
if not session_user.oid or session_user.oid == 0:
raise Exception(f"User default space is not set!")
""" if token_data.oid != session_user.oid:
raise HTTPException(
status_code=401,
+14 -2
View File
@@ -168,9 +168,21 @@ class HttpService {
errorMessage = 'Invalid request parameters'
break
case 401:
errorMessage = 'Unauthorized, please login again'
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
errorMessage = error.response?.data?.data?.msg || 'Unauthorized, please login again'
// Redirect to login page if needed
break
ElMessage({
message: errorMessage,
type: 'error',
showClose: true,
})
setTimeout(() => {
wsCache.delete('user.token')
window.location.reload()
}, 1000)
return
// break
case 403:
errorMessage = 'Access denied'
break