Skip to content

Commit 2b14322

Browse files
perf: Check user status
1 parent 5c48efa commit 2b14322

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

backend/apps/system/middleware/auth.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,13 @@ async def validateToken(self, token: Optional[str]):
6262
try:
6363
with Session(engine) as session:
6464
session_user = await get_user_info(session = session, user_id = token_data.id)
65+
if not session_user:
66+
raise Exception(f"User not found with id: {token_data.id}")
6567
session_user = UserInfoDTO.model_validate(session_user)
68+
if session_user.status != 1:
69+
raise Exception(f"User is not active!")
70+
if not session_user.oid or session_user.oid == 0:
71+
raise Exception(f"User default space is not set!")
6672
""" if token_data.oid != session_user.oid:
6773
raise HTTPException(
6874
status_code=401,

frontend/src/utils/request.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,21 @@ class HttpService {
168168
errorMessage = 'Invalid request parameters'
169169
break
170170
case 401:
171-
errorMessage = 'Unauthorized, please login again'
171+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
172+
// @ts-ignore
173+
errorMessage = error.response?.data?.data?.msg || 'Unauthorized, please login again'
172174
// Redirect to login page if needed
173-
break
175+
ElMessage({
176+
message: errorMessage,
177+
type: 'error',
178+
showClose: true,
179+
})
180+
setTimeout(() => {
181+
wsCache.delete('user.token')
182+
window.location.reload()
183+
}, 1000)
184+
return
185+
// break
174186
case 403:
175187
errorMessage = 'Access denied'
176188
break

0 commit comments

Comments
 (0)