若依RuoYi-Vue分离版免登录访问功能实现指南
创作时间:
作者:
@小白创作中心
若依RuoYi-Vue分离版免登录访问功能实现指南
引用
CSDN
1.
https://blog.csdn.net/qq_20236937/article/details/139634849
若依RuoYi-Vue分离版是一款基于Spring Boot和Vue.js的前后端分离架构的开源后台管理系统。在实际开发中,有时需要实现某些页面或接口的免登录访问功能,例如公开的API或无需认证的页面。本文将详细介绍如何在若依RuoYi-Vue分离版中实现免登录直接访问的功能。
官网说明:如何不登录直接访问
前端:
前端不登录如何直接访问
- 首先在
views目录下面创建你想免登录的页面 - 然后在
ruoyi-ui\src\router的index.js文件中配置你创建的页面位置 - 最后在
src/permission.js文件中配置whiteList属性白名单(免登录页面的访问url)
后端:
方法1:在SecurityConfig.java中设置httpSecurity配置匿名访问
// 使用 permitAll() 方法所有人都能访问,包括带上 token 访问
.antMatchers("/admins/**").permitAll()
// 使用 anonymous() 所有人都能访问,但是带上 token 访问后会报错
.antMatchers("/admins/**").anonymous()
方法2:在对应的方法或类上面使用@Anonymous注解
前提:匿名访问的方法上面@PreAuthorize权限注解也需要去掉,因为已经使用匿名访问了,权限自然也不需要去验证了。
// 类上定义匿名注解,作用于所有的方法
@Anonymous
@RestController
@RequestMapping("/system/xxxx")
public class SysXxxxController extends BaseController
{
}
// 方法定义匿名注解,作用于单独的方法
@Anonymous
@GetMapping("/list")
public List<SysXxxx> list(SysXxxx xxxx)
{
return xxxxList;
}
个人测试-前端页面
我这边没有单独写一个新页面了,用以前写的页面进行相关测试
测试了一下菜单配置里面的页面和非菜单配置里面的页面
- 在
ruoyi-ui\src\router路径下修改index.js文件
//该处为免登录访问的路由页面
{
path: '/centerprofile',
component: () => import('@/views/yangdong/centerprofile/index'),
hidden: true
},
{
path: '/massend',
component: () => import('@/views/yangdong/terminal/fwfc/index'),
hidden: true
},
- 在
src/permission.js配置whiteList属性白名单
//新的白名单路由
const newRoutes = ['/centerprofile', '/massend'];
// 使用扩展运算符合并数组
whiteList.push(...newRoutes);
- 效果展现
3.1 访问地址:http://localhost/centerprofile(菜单管理里面的页面)
结果:成功实现了免登录展现页面
上图的“系统提示”是由于我的这个页面是代码生成器生成的,里面存在调用后台接口的方法
3.2 访问地址:http://localhost/massend(非菜单管理里面的页面)
这个页面的vue代码如下
<template>
<div class="wrap">
<div style="border: 1px solid red">
第一个div:666777888
</div>
<div style="border: 1px solid yellow">
第二个div:
<iframe src="../centerprofile/index.vue" style="width: 30%;height: 500px"></iframe>
<iframe src="https://www.csdn.net/" style="width: 60%;height: 500px"></iframe>
<p v-html="htmlContent"></p>
</div>
<div style="border: 1px solid blue">
第三个div
<iframe src="http://localhost/massend" style="width: 60%;height: 1200px"></iframe>
</div>
</div>
</template>
<script>
export default {
name: "Index",
data() {
return {
htmlContent: ''
};
},
mounted() {
},
methods: {
loadHtmlFile() {
this.htmlContent = "";
let xhr = new XMLHttpRequest()
// 线上链接地址
// xhr.open("GET", val.url, false);
console.log("xhr",xhr);
// public文件夹下的绝对路径
// /xhr.open("GET", "佛山招聘教师.txt", false);
//xhr.open("GET", "群众首页.html", false);
xhr.overrideMimeType("text/html;charset=utf-8")
xhr.send(null)
this.htmlContent = xhr.responseText;
}
},
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
height: 500px;
}
</style>
结果:也是成功实现了免登录展现页面
现象一:iframe内嵌内部页面访问时(…/centerprofile/index.vue) ,需要登录
现象二:iframe内嵌请求地址访问时(http://localhost/massend) ,不用登录
现象三:iframe内嵌请求地址访问时(https://www.csdn.net/) ,不用登录
所以这个就需要注意了
热门推荐
数字化环境下小学语文教学资源整合的方法与实践经验分享
古诗词遇上水仙雕刻会是怎样的诗情画意?一起来赏~
切记,不要在错误的时间喝茶!
“猫口普查”:全球最受欢迎的猫咪品种top10!
“温胆汤”清胆和胃,治“痰热”证应用广泛如头痛、眩晕、失眠等
全球卫生支出报告解读:疫情后医疗融资体系的转型与挑战
指甲有竖纹、白斑是“死亡信号”?出现这几种状况要注意!
马拉松的历史与意义:从42.195公里看运动精神与生活态度
剖腹产后翻身不疼技巧整理,放慢动作避免局部疼痛
有机肥料制作方法详解:从堆肥到微生物肥料
生怕情多累美人——“多情文人”郁达夫与三位夫人的情爱轶事
pubg怎么压枪?,pubg压枪技巧
结婚一般是什么季节什么日子
目标绩效系统如何确保目标与公司战略一致
水泥窑协同处置:一种创新的废弃物处理技术
如何评估乡村振兴战略规划的成功与否?
生日悖论理论及在哈希函数碰撞中的应用
INFJ与INFP:人格类型的差异对比
Android 应用权限管理详解
日本的底色:“冷社会”中的“循环文化”
显卡显存大小有什么用?显卡显存几G够用?
这8部美国成人动画,皆为神作,必须私藏!
家庭中的角色与责任:TA沟通分析理论的应用
【签证攻略】越南签证入境流程与办理须知
财阀家族也防不住的身份盗窃犯!身份信息泄露如何影响个体?
关注与粉丝的互动关系探讨:深度解析与策略构建
全屋定制公司如何制定合理的薪资制度?
汽车保养的五个阶段你都知道吗?
《不能说的秘密》歌词解读:一首关于真诚与勇气的歌
静电纺丝成新的研发热点,简析其原理、影响参数、应用领域和前景