From eabeb705c4ee13791a14f114c1fa2cdb1556c9f2 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 4 Mar 2024 15:47:13 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E8=B4=A6=E5=8F=B7=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E7=99=BB=E5=BD=95=E6=96=B0=E5=A2=9EIP=E9=BB=91?= =?UTF-8?q?=E5=90=8D=E5=8D=95=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/service/login_service.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ruoyi-fastapi-backend/module_admin/service/login_service.py b/ruoyi-fastapi-backend/module_admin/service/login_service.py index f0ecace..551cc17 100644 --- a/ruoyi-fastapi-backend/module_admin/service/login_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/login_service.py @@ -56,6 +56,7 @@ class LoginService: :param login_user: 登录用户对象 :return: 校验结果 """ + await cls.__check_login_ip(request) account_lock = await request.app.state.redis.get( f"{RedisInitKeyConfig.ACCOUNT_LOCK.get('key')}:{login_user.user_name}") if login_user.user_name == account_lock: @@ -100,6 +101,21 @@ class LoginService: f"{RedisInitKeyConfig.PASSWORD_ERROR_COUNT.get('key')}:{login_user.user_name}") return user + @classmethod + async def __check_login_ip(cls, request: Request): + """ + 校验用户登录ip是否在黑名单内 + :param request: Request对象 + :return: 校验结果 + """ + black_ip_value = await request.app.state.redis.get( + f"{RedisInitKeyConfig.SYS_CONFIG.get('key')}:sys.login.blackIPList") + black_ip_list = black_ip_value.split(',') if black_ip_value else [] + if request.headers.get('X-Forwarded-For') in black_ip_list: + logger.warning("当前IP禁止登录") + raise LoginException(data="", message="当前IP禁止登录") + return True + @classmethod async def __check_login_captcha(cls, request: Request, login_user: UserLogin): """ -- Gitee From 2a45df71cdaeda0ff8deadba8fe69858239e46cd Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 4 Mar 2024 15:49:05 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=96=E9=93=BE?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=97=A0=E6=B3=95=E6=89=93=E5=BC=80=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20#I95KBK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/module_admin/service/login_service.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/service/login_service.py b/ruoyi-fastapi-backend/module_admin/service/login_service.py index 551cc17..cfb6d90 100644 --- a/ruoyi-fastapi-backend/module_admin/service/login_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/login_service.py @@ -245,14 +245,16 @@ class LoginService: if permission.menu_type == 'M': router_list_data['name'] = permission.path.capitalize() router_list_data['hidden'] = False if permission.visible == '0' else True - if permission.is_frame == 1: - router_list_data['redirect'] = 'noRedirect' if permission.parent_id == 0: router_list_data['component'] = 'Layout' router_list_data['path'] = f'/{permission.path}' else: router_list_data['component'] = 'ParentView' router_list_data['path'] = permission.path + if permission.is_frame == 1: + router_list_data['redirect'] = 'noRedirect' + else: + router_list_data['path'] = permission.path if children: router_list_data['alwaysShow'] = True router_list_data['children'] = children -- Gitee From 70f6f8a4716fed97165fba80f8c9a54ad54c03ff Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 4 Mar 2024 15:49:45 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=92=8C=E7=BC=96=E8=BE=91=E8=8F=9C=E5=8D=95=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=B8=AD=E6=98=AF=E5=90=A6=E7=BC=93=E5=AD=98=E5=92=8C=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=A4=96=E9=93=BE=E5=AD=97=E6=AE=B5=E5=9B=9E=E6=98=BE?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98=20#I95KBK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-frontend/src/views/system/menu/index.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ruoyi-fastapi-frontend/src/views/system/menu/index.vue b/ruoyi-fastapi-frontend/src/views/system/menu/index.vue index bb486e9..b71c32f 100644 --- a/ruoyi-fastapi-frontend/src/views/system/menu/index.vue +++ b/ruoyi-fastapi-frontend/src/views/system/menu/index.vue @@ -152,8 +152,8 @@ - - + + @@ -220,8 +220,8 @@ - 缓存 - 不缓存 + 缓存 + 不缓存 -- Gitee From 44ddc8c3a83ed3949628e7958935aed9356e7128 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 4 Mar 2024 15:50:09 +0800 Subject: [PATCH 4/5] =?UTF-8?q?chore:=20=E5=8D=87=E7=BA=A7=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=87=B31.0.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-fastapi-backend/.env.dev | 4 ++-- ruoyi-fastapi-backend/.env.prod | 4 ++-- ruoyi-fastapi-frontend/package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ruoyi-fastapi-backend/.env.dev b/ruoyi-fastapi-backend/.env.dev index 216ec8b..cbfee4e 100644 --- a/ruoyi-fastapi-backend/.env.dev +++ b/ruoyi-fastapi-backend/.env.dev @@ -2,7 +2,7 @@ # 应用运行环境 APP_ENV = 'dev' # 应用名称 -APP_NAME = 'RuoYi-FasAPI' +APP_NAME = 'RuoYi-FastAPI' # 应用代理路径 APP_ROOT_PATH = '/dev-api' # 应用主机 @@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0' # 应用端口 APP_PORT = 9099 # 应用版本 -APP_VERSION= '1.0.2' +APP_VERSION= '1.0.3' # 应用是否开启热重载 APP_RELOAD = true diff --git a/ruoyi-fastapi-backend/.env.prod b/ruoyi-fastapi-backend/.env.prod index 352b33d..75f65aa 100644 --- a/ruoyi-fastapi-backend/.env.prod +++ b/ruoyi-fastapi-backend/.env.prod @@ -2,7 +2,7 @@ # 应用运行环境 APP_ENV = 'prod' # 应用名称 -APP_NAME = 'RuoYi-FasAPI' +APP_NAME = 'RuoYi-FastAPI' # 应用代理路径 APP_ROOT_PATH = '/prod-api' # 应用主机 @@ -10,7 +10,7 @@ APP_HOST = '0.0.0.0' # 应用端口 APP_PORT = 9099 # 应用版本 -APP_VERSION= '1.0.2' +APP_VERSION= '1.0.3' # 应用是否开启热重载 APP_RELOAD = false diff --git a/ruoyi-fastapi-frontend/package.json b/ruoyi-fastapi-frontend/package.json index 3e294e0..a9de45e 100644 --- a/ruoyi-fastapi-frontend/package.json +++ b/ruoyi-fastapi-frontend/package.json @@ -1,6 +1,6 @@ { "name": "vfadmin", - "version": "1.0.2", + "version": "1.0.3", "description": "vfadmin管理系统", "author": "insistence", "license": "MIT", -- Gitee From dcb1f4d13cf643d276bf1371d7a88f76cd8c432f Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 4 Mar 2024 15:50:48 +0800 Subject: [PATCH 5/5] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0README=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f611a27..f65dead 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@

logo

-

RuoYi-Vue3-FastAPI v1.0.2

+

RuoYi-Vue3-FastAPI v1.0.3

基于RuoYi-Vue3+FastAPI前后端分离的快速开发框架

- + @@ -14,6 +14,7 @@ + ## 平台简介 RuoYi-Vue-FastAPI是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 -- Gitee