ruoyi-cloud-plus添加一个不要认证的公开新页面

文章目录

    • 一、前端
      • 1. 组件创建
      • 2. src/router/index.ts
      • 3. src/permission.ts
    • 二、后端
      • 1. 设计思想
      • 2. ruoyi-gateway.yml
      • 3. 开发Controller

版本
RuoYiCloudPlusv2.1.2
plus-uiVue3 ts

以新增一个公开的课程搜索页面为例。

一、前端

1. 组件创建

在view目录下创建一个页面的vue代码,比如

src/views/customer/searchPage/index.vue

2. src/router/index.ts

为其编制一个路由。在constantRoutes中添加一组dict信息。比如

{path: '/courseSearch',component: () => import('@/views/customer/searchPage/index.vue'),hidden: true
},

3. src/permission.ts

把页面加入前端的whiteList

const whiteList = ['/login','/register','/social-callback','/courseSearch'
];

在浏览器输入http://localhost/courseSearch,至此这个页面已经不用登录就可以访问了。

二、后端

但是后端是有网关和认证模块的,虽然前端页面可以不用登陆了,但是如果这个页面还需要从后端获取数据,那么后端对应的controller也应该被open。

1. 设计思想

不同模块有不同的url前缀,比如

routes:# 认证中心- id: ruoyi-authuri: lb://ruoyi-authpredicates:- Path=/auth/**filters:- StripPrefix=1# 代码生成- id: ruoyi-genuri: lb://ruoyi-genpredicates:- Path=/tool/**filters:- StripPrefix=1

并且每个模块都有可能需要open一些controller,不需要认证。那么我们进行统一设定,比如课程模块,url前缀为course,那么/course/open/**就都是被公开的端点。于是在gateway只需要把/*/open/**加入白名单即可。

2. ruoyi-gateway.yml

在nacos中修改gateway的配置文件,把/*/open/**加入whites。

security:ignore:whites:- /auth/code- /auth/logout- /auth/login- /auth/binding/*- /auth/social/callback- /auth/register- /auth/tenant/list- /resource/sms/code- /*/v3/api-docs- /*/error- /csrf- /*/open/**

3. 开发Controller

在course模块中,新建一个CourseOpenController.java,内容示例如下

package org.dromara.course.controller;import org.dromara.course.domain.bo.CourseCategoryBo;
import org.dromara.course.domain.vo.CourseCategoryVo;
import org.dromara.course.service.CourseCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("/open")
public class CourseOpenController {@AutowiredCourseCategoryService categoryService;@GetMapping("/category/list")public List<CourseCategoryVo> list(CourseCategoryBo bo) {return categoryService.queryList(bo);}}

重启网关和课程模块即可。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641142.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[激光原理与应用-88]:图解激光在工业加工领域的应用大全以及激光加工的优势

目录 前言&#xff1a; 激光加工分类 一、材料清除 1.1 激光清洗&#xff1a;去除污垢 1.2 激光雕刻&#xff1a;去除多余 1.3 激光划线 1.4 激光切割 1.5 激光打标 1.6 激光打孔 1.7 激光雕刻 二、材料增强 2.1 激光淬火&#xff1a;增加强度 2.2 激光退火&#…

AI+招聘,激活企业的「新质生产力」

两会以来&#xff0c;「新质生产力」成为热词。而所谓的新质生产力&#xff0c;是创新起主导作用&#xff0c;摆脱传统经济增长方式、生产力发展路径&#xff0c;具有高科技、高效能、高质量特征&#xff0c;符合新发展理念的先进生产力质态。新质之「新」&#xff0c;很重要的…

使用JavaScript创建数组,并对其进行冒泡排序

JavaScript创建数组方式 字面量方式&#xff1a;使用方括号 [] 来创建数组&#xff0c;并在方括号内按顺序列出数组元素。 let arr [1, 2, 3, 4, 5]; Array() 构造函数方式&#xff1a;使用 new Array() 构造函数来创建数组&#xff0c;并传入数组元素作为参数。 let arr ne…

xshell的基本命令

1. 创建虚拟环境: conda create -n 虚拟环境名称 python3.7 2. 激活进入虚拟环境 conda activate 虚拟环境名称 3. 退出虚拟环境 conda deactivate 4. 查看所有虚拟环境 conda env list 5. 卸载环境 conda remove -n 虚拟环境名称 --all 6. 执行py文件: python3.py文…

【C语言】sspritnf(组包)和sscanf(解包)简易理解

sprintf(&目标&#xff0c;"%d%d%s",1,2,65) sprintf:组包命令&#xff0c;将最后的值&#xff0c;按照中间的格式&#xff0c;组到目标地址中 sscanf(源数据&#xff0c;"%d%c%s",&目标1&#xff0c;&目标2&#xff0c;&目标3) sscanf&am…

javaEE初阶——多线程(八)——常见的锁策略 以及 CAS机制

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享分治算法关于多线程进阶的章节——关于常见的锁策略以及CAS机制 如果有不足的或者错误的请您指出! 多线程进阶 1.常见的锁策略 我们需要了解的是,我们使用是锁,在加锁 / 解锁…

1、opencv介绍与开发环境搭建

1、opencv介绍 OpenCV 是 Intel 开源计算机视觉库&#xff0c;是一个跨平台的开源计算机视觉和机器学习软件库。它由一系列 C 函数和少量 C 类构成&#xff0c;可用于开发实时的图像处理、计算机视觉以及模式识别程序。 该库有 2500 多种优化算法&#xff0c;其中包括一套全面…

联合和枚举

1、联合 联合&#xff08;union&#xff09;是一种数据类型&#xff0c;它能在用一个内存空间中存储不同的数据类型&#xff08;但不是同时存储&#xff09;。其典型的用法是&#xff0c;设计一种表以存储既无规律、事先也不知道顺序的混合类型。 使用联合类型的话&#xff0c…

国际收支平衡表的分析要点有哪些

国际收支统计是国民经济综合平衡必不可少的一个环节&#xff0c;国际收支的顺差或逆差可以弥补国内投资和消费与国内生产总值间的缺口&#xff0c;国际收支状况可影响国内信贷平衡&#xff0c;对金融调控至关重要。良好的国际收支统计信息是制定正确的对外经济政策的基础。 一…

解读币安Megadrop:如何参加第一期BounceBit活动?

币安推出新的代币发行平台 Megadrop&#xff0c;第一期为 BounceBit。 跟 launchpool 相比&#xff0c; 主要不同是 1&#xff09;锁仓 bnb 有收益的倍数加成 2&#xff09;做任务有收益加成。 我认为核心目的有两个&#xff1a; 1&#xff09;更多收益给 BNB 长期持有者&am…

NovaMSS音乐源分离v1.3.3社区版

软件介绍 NovaMSS 基于最新 AI 模型优化的音乐源分离工具。它能够轻松地批量提取伴奏、人声、贝斯、鼓点等音轨&#xff0c;并且支持 GPU 加速&#xff0c;以提高处理速度和效率。社区版完全免费&#xff0c;简单易用&#xff0c;上传文件&#xff0c;点击处理&#xff0c;查看…

K8s七层代理Ingress Controller详解

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、k8s简介 2、Ingress Controller简介…