RuoYi-Vue-Plus分离版 - 免登录访问

Marimo_z
2025-04-06 / 7 评论 / 234 阅读 / 正在检测是否收录...

RuoYi-Vue-Plus分离版 - 免登录访问

在 RuoYi-Vue-Plus 中实现免登录访问,需结合前端路由白名单和后端接口放行策略。

一、前端免登录配置

  1. 配置公共路由ruoyi-ui/src/router/index.jsconstantRoutes 中添加免登录路由,示例:

    {
      path: '/public',
      component: () => import('@/views/public/index.vue'),
      hidden: true // 隐藏菜单项(可选)
    }

    注意:hidden: true 表示不在菜单栏显示该页面路径

  1. 扩展白名单列表 修改 ruoyi-ui/src/permission.js,将新增的路由路径加入白名单:

    whiteList = ['/login', '/public'];
    // 或动态扩展
    whiteList.push('/public');

    白名单中的路径将跳过登录校验直接访问

二、后端接口放行

根据 RuoYi-Vue-Plus 的权限框架(Sa-Token),可选择以下任一方式:

方式 1:通过配置文件放行

application.yml 中配置静态资源和接口路径:

security:
  excludes:
    - /public/**      # 放行所有以 /public 开头的接口
    - /static/**      # 放行静态资源
    - /api/public/**  # 自定义接口路径

此方法适用于全局性放行,如公共 API 或静态文件

方式 2:使用 @SaIgnore 注解

在 Controller 类或方法上添加注解,跳过权限校验:

@SaIgnore
@GetMapping("/public/data")
public R<?> getPublicData() {
    return R.ok("无需登录的数据");
}
  • 类级别注解:类下所有方法免校验。
  • 方法级别注解:仅当前方法免校验。
  • 注意:@SaIgnore优先级高于其他权限注解(如@SaCheckLogin

三、特殊情况处理

  1. 嵌套路由问题 若免登录页面包含子路由(如 children),需确保子路径也加入白名单:

    whiteList.push('/public', '/public/subpage');
  2. 接口与页面权限分离 若页面需调用后端接口,需同时放行前端路由和后端接口,例如:

    • 前端路径:/public
    • 后端接口:GET /api/public/data
  1. 动态路径处理 动态路由(如 /detail/:id)需在配置中使用通配符:

    security:
      excludes:
        - /detail/*

四、验证与调试

  1. 清除浏览器缓存:避免旧路由配置影响测试。
  2. 检查控制台日志:观察是否有权限拦截日志。
  3. 使用接口测试工具:直接访问接口验证是否放行。

五、注意事项

  1. 菜单隐藏:若不需要展示在菜单栏,路由配置中设置 hidden: true
  2. 安全风险:避免放行敏感接口(如数据修改接口)。
  3. 版本差异:RuoYi-Vue-Plus 使用 Sa-Token,而原版若依使用 Spring Security,两者注解不同(如@Anonymousvs@SaIgnore

通过以上步骤,可灵活实现特定页面的免登录访问。如需更复杂的权限控制(如部分内容需登录后查看),可结合前端动态路由和后端接口鉴权策略进一步优化。

1

评论 (7)

取消
  1. 头像
    bdmuxvkong
    Windows 10 · Google Chrome

    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    回复
  2. 头像
    aktdqoealu
    Windows 10 · Google Chrome

    2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    回复
  3. 头像

    果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

    回复
  4. 头像

    果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

    回复
  5. 头像

    华纳圣淘沙开户步骤详解(183-8890-9465—?薇-STS5099【6011643】

    华纳圣淘沙公司开户流程全解析(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司账户注册指南(183-8890-9465—?薇-STS5099【6011643】
    新手如何开通华纳圣淘沙公司账户(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙企业开户标准流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户:从零到一(183-8890-9465—?薇-STS5099【6011643】
    官方指南:华纳圣淘沙公司开户流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户流程说明书(183-8890-9465—?薇-STS5099【6011643】

    回复
  6. 头像

    华纳圣淘沙公司开户新手教程

    零基础学会(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户保姆级教程(183-8890-9465薇-STS5099)

    一步步教你开通华纳圣淘沙公司账户(183-8890-9465薇-STS5099)

    华纳圣淘沙公司开户分步图解

    首次开户必看:(183-8890-9465薇-STS5099)
    华纳圣淘沙全攻略

    华纳圣淘沙公司开户实操手册(183-8890-9465薇-STS5099)
    华纳圣淘沙开户流程视频教程

    手把手教学:(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户完全指南(183-8890-9465薇-STS5099)

    回复
  7. 头像

    华纳圣淘沙公司开户新手教程

    零基础学会(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户保姆级教程(183-8890-9465薇-STS5099)

    一步步教你开通华纳圣淘沙公司账户(183-8890-9465薇-STS5099)

    华纳圣淘沙公司开户分步图解

    首次开户必看:(183-8890-9465薇-STS5099)
    华纳圣淘沙全攻略

    华纳圣淘沙公司开户实操手册(183-8890-9465薇-STS5099)
    华纳圣淘沙开户流程视频教程

    手把手教学:(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户完全指南(183-8890-9465薇-STS5099)

    回复