当前位置: 首页 > news >正文

vue页面菜单权限问题解决

带锚点的url,#后面部分后端获取不到.

vue的页面是带有#的路由,#后端服务获取不到,只在浏览器端有用.

URL 中的哈希符号 (#) 被用来作为网页中的 锚点 使用,锚点的含义就是页面中的某个特定的位置,这个位置可以被快速找到,很类似于在该位置抛了一个锚。

哈希符号 # 右侧的部分,是这个锚点的唯一标志,例如

http://www.example.com/index.html#section

代表了页面 index.html 中存在一个锚点 section,浏览器会自动滚动页面到 section 所指定的位置

下面的例子是如何在 html 中创建一个锚点,首先创建一个超链接,指向该锚点

<a href="#section">锚点跳转</a>

在创建锚点所在的位置,只需要创建一个 div 块,使其 id 为 section

<div id="section"></div>

这样一来,在页面上点击 “锚点跳转” 时,页面将自动滚动到 id=”section” 的位置。同时,在 URL 后面会补充上 #section

URL 中的哈希符号 (#) 用来指示浏览器的操作,对于服务端来说一点用处都没有。所以浏览器(以及我验证过的 http 客户端)发出的 http 请求中是不会携带任何 # 及其右侧数据的。

比如:

http://127.0.0.1:8001/index.html#/home

 

现在要在过滤器中作请求页面的鉴权,就犯难了.后端只能拿到index.html.

那怎么办?

解决方案:

数据库中的菜单配置成index.html/home  然后过滤器中根据index.html/home来鉴权

鉴权通过后,然后重定向到index.html#/home 就可以了

else if (checkSessionIsOk(httpRequest)) {
    //判断当前页面是否能访问 (如果页面出现在菜单中,那么需要分配权限,如果无权限则不能访问)

    //这里的请求url=index.html/home
    boolean canVisit = checkUrlCanVisit((HttpServletRequest) request, url);
    if (!canVisit) {
        httpResponse.sendRedirect("/static/views/error/authFail.html");
        return;
    }
    //请求url
    String staticView = "/index.html";
    if (!url.endsWith(staticView) && url.contains(staticView)) {
        int index = url.indexOf(staticView);
        String routerUrl = url.substring(index, index + staticView.length()) + "?" + httpRequest.getQueryString() + "#" + url.substring(index + staticView.length());
        logger.info("routerUrl:" + routerUrl);

        //这里跳转的页面为routerUrl =  index.html#/home
        ((HttpServletResponse) response).sendRedirect(routerUrl);

    } else {
        chain.doFilter(request, response);
    }

相关文章:

vue页面菜单权限问题解决

带锚点的url,#后面部分后端获取不到. vue的页面是带有#的路由,#后端服务获取不到,只在浏览器端有用. URL 中的哈希符号 (#) 被用来作为网页中的 锚点 使用&#xff0c;锚点的含义就是页面中的某个特定的位置&#xff0c;这个位置可以被快速找到&#xff0c;很类似于在该位置抛…...

C++面试宝典第33题:数组组成最大数

题目 给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例1: 输入:nums = [10, 2] 输出:"210" 示例2: 输入:nums = [3, 30, 34, 5, 9] 输出:"…...

“影像承载初心” 国际数字影像产业园2024首届摄影沙龙诚邀您的参与!

2024年2月29日&#xff0c;树莓集团总部国际数字影像产业园将举行“影像承载初心”2024首届摄影沙龙&#xff0c;活动现场邀请摄影业内大咖与专家共聚成都文创产业园&#xff0c;探讨摄影艺术及影像未来。诚邀您的参与&#xff01; 国际数字影像产业园介绍&#xff1a; 国际数…...

【C语言】while循环语句

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;C语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&…...

2024数字中国创新大赛·数据要素赛道“能源大数据应用赛”正式上线!参赛指南请查收

近日&#xff0c;由国网福建电力承办的2024数字中国创新大赛能源大数据应用赛正式上线发布。赛事按照数字中国建设、能源革命的战略要求&#xff0c;围绕能源数据要素x、能源数字技术、能源商业模式等热点设置赛题&#xff0c;诚邀社会各界为加快建成新型电力系统出谋划策&…...

react-JSX基本使用

1.目标 能够知道什么是JSX 能够使用JSX创建React元素 能够在JSX中使用JS表达式 能够使用JSX的条件渲染和列表渲染 能够给JSX添加样式 2.目录 JSX的基本使用 JSX中使用JS表达式 JSX的条件渲染 JSX的列表渲染 JSX的样式处理 3.JSX的基本使用 3.1 createElement()的问题 A. …...

学习阶段单片机买esp32还是stm32?

学习阶段单片机买esp32还是stm32? 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「stm32的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xf…...

【Simulink系列】——Simulink子系统子系统封装模块库技术

声明&#xff1a;本系列博客参考有关专业书籍&#xff0c;截图均为自己实操&#xff0c;仅供交流学习&#xff01; 引入 前面对于简单的动态系统仿真&#xff0c;可以直接建立模型&#xff0c;然后仿真。但是对于复杂的系统&#xff0c;直接建立系统会显得杂乱无章&#xff0…...

一加手机线刷2024版,param预载失败/MSM刷机工具报错

如果之前有刷第三方或者手机出问题&#xff0c;先去下载9008线刷包&#xff0c;可以去去大侠阿木的网站搜索。 这次的主题是param刷机报错&#xff0c;当你确保端口提示有QCOM端口&#xff0c;没有感叹号你需要先卸载设备及其驱动&#xff0c;重新插上手机&#xff0c;在WINDO…...

文件拖放到窗体事件

网上的实现1 实现结果 具体实现代码&#xff1a;注意需要使能允许拖拽 public partial class Form1 : Form {public Form1(){InitializeComponent();this.AllowDrop true; //允许拖拽}private void Form1_DragEnter(object sender, DragEventArgs e){this.Text DateTime.No…...

JAVA集成微信支付V3版JSAPI下单

一、引入微信支付SDK <dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-pay</artifactId> </dependency> 二、支付参数封装 Data ConfigurationProperties(prefix "wx.pay") public class WxP…...

opengles 背面剔除介绍(十二)

文章目录 前言一、OpenGL ES 剔除功能简介二、Opengl ES 剔除功能相关的API1.使能剔除功能2. 配置面剔除模式3. 设置剔除面的顺序4. 禁用剔除功能总结参考资料前言 本文主要介绍 opengles3.0 中的背面剔除相关知识,对于绘制3d 图形, 经常会用到它,并且它能提升渲染效率 软硬…...

【深度学习:视频注释】如何为机器学习自动执行视频注释

【深度学习&#xff1a;视频注释】如何为机器学习自动执行视频注释 #1&#xff1a;多目标跟踪 &#xff08;MOT&#xff09; 以确保帧与帧之间的连续性#2&#xff1a;使用插值来填补空白#3: 使用微模型加速人工智能辅助视频注释#4: 自动目标分割提高目标分割质量 自动视频标记通…...

网络编程、UDP、TCP

计算机网络 就是将地理位置不同的具有独立功能的多台计算及外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统、网络管理软件以及网络通信协议的管理和协调下&#xff0c;实现资源共享和信息传递的计算机系统 目的 传播交流信息、数据交换、通信 如何做…...

Maya笔记 设置工作目录

Maya会把素材场景等自动保存在工作目录里&#xff0c;我们可以自己定义工作目录 步骤1 创建workspace.mel文件 文件/设置项目 ——>选择一个文件夹&#xff0c;点击设置——>创建默认工作区 这一个后&#xff0c;可以在文件夹里看到.mel文件 步骤2 自动创建文件夹…...

MySQL:连接查询

连接查询是将两个或两个以上的表按照某个条件连接起来&#xff0c;从中选取需要的数据&#xff1b; 查询t_book表数据 查询t_bookType表数据 1、内连接查询 內连接查询是一种最常用的连接查询。内连接查询可以查询两个或者两个以上的表&#xff1b; SELECT * FROM t_book,t_bo…...

歌尔气压计SPA06-003在无人机和手表上的创新应用

随着科技的不断进步&#xff0c;各类智能设备的功能日益强大&#xff0c;其中气压计作为一种能够测量大气压力的传感器&#xff0c;已被广泛应用于多种领域。歌尔气压计以其高精度、低功耗的特点&#xff0c;在无人机和智能手表上的应用尤为突出&#xff0c;为这两个领域的产品…...

从0到1实现五子棋游戏!!

Hello&#xff0c;好久不见宝子们&#xff0c;今天来给大家更一个五子棋的程序~ 我们今天要讲的内容如下&#xff1a; 文章目录 1.五子棋游戏介绍1.1 游戏玩法介绍&#xff1a; 2.准备工作2.1 具体操作流程 3.游戏程序主函数4.初始化棋盘4.1.定义宏变量4.2 初始化棋盘 5.打印…...

二叉树(C/C++)

本篇将较为详细的介绍二叉树的相关知识&#xff0c;以及二叉树的实现。对于二叉树的相关知识&#xff0c;本篇介绍了其概念、特殊的二叉树、性质还有存储结构。 接着对于实现二叉树的每个函数都有其思路讲解&#xff0c;主要的函数分为&#xff1a;遍历&#xff1a;前中后序遍历…...

Django学习笔记-ModelForm使用(完全依赖)

1.创建模型 ,code,name,sex,entrydate 2.模型映射 python manage.py makemigrations myapp01,python manage.py migrate 3.创建模型表单,继承forms.ModelForm,Meta:元数据,models需引入,fields填写引用的模型变量 4.创建testModelForm.html,添加urls 5.views编写testmodelfo…...

从Ptolemaic到Copernican模型:Statistical Rethinking 2023中的模型进化

从Ptolemaic到Copernican模型&#xff1a;Statistical Rethinking 2023中的模型进化 【免费下载链接】stat_rethinking_2023 Statistical Rethinking Course for Jan-Mar 2023 项目地址: https://gitcode.com/gh_mirrors/st/stat_rethinking_2023 Statistical Rethinkin…...

别再只玩小球追踪了!用OpenMV做个智能小车巡线,从环境搭建到完整代码(附避坑指南)

OpenMV智能小车巡线实战&#xff1a;从环境搭建到PID调参全解析 巡线小车是机器人竞赛和创客项目中的经典课题&#xff0c;但大多数教程停留在基础颜色识别阶段。本文将带您深入OpenMV巡线系统的完整实现路径&#xff0c;涵盖硬件选型、图像处理优化、运动控制算法以及现场调试…...

终极免费彩色表情字体:EmojiOne Color完整使用指南

终极免费彩色表情字体&#xff1a;EmojiOne Color完整使用指南 【免费下载链接】emojione-color OpenType-SVG font of EmojiOne 2.3 项目地址: https://gitcode.com/gh_mirrors/em/emojione-color 还在为网页和设计项目中表情符号显示不一致而烦恼吗&#xff1f;想要让…...

书匠策AI:学术写作的“智能导航仪”,引领期刊论文新风尚!

在浩瀚的学术海洋中&#xff0c;每一位探索者都渴望拥有一艘装备精良的航船&#xff0c;能够精准导航&#xff0c;避开暗礁&#xff0c;直达成功的彼岸。对于论文写作这一既充满挑战又极具价值的旅程而言&#xff0c;书匠策AI就是那艘引领你破浪前行的“智能导航仪”。今天&…...

别再死磕Vivado 2016.4了!手把手教你用Vivado 2019.2搞定MIPI CSI-2摄像头数据采集(附IMX334配置)

从Vivado 2016.4到2019.2&#xff1a;MIPI CSI-2摄像头数据采集的全面升级指南 在嵌入式视觉系统开发中&#xff0c;MIPI CSI-2接口因其高带宽、低功耗的特性已成为摄像头模组的首选接口标准。然而&#xff0c;当开发者使用Xilinx FPGA平台进行MIPI CSI-2接口开发时&#xff0c…...

告别Camera1!用Camera2 API + MediaRecorder打造更流畅的Android视频录制功能

深度解析Camera2 API与MediaRecorder&#xff1a;打造高性能Android视频录制方案 在移动应用开发领域&#xff0c;视频录制功能已成为社交、电商、教育等各类应用的标配需求。然而&#xff0c;许多开发者仍在使用已被废弃的Camera1 API或对Camera2的录像性能感到困惑。本文将带…...

算法训练营第六天|反转链表

题目链接&#xff1a; https://leetcode.cn/problems/reverse-linked-list/ 视频链接&#xff1a;https://www.bilibili.com/video/BV1nB4y1i7eL 难点&#xff1a;迭代中如何防止断链以及递归如何实现反转 感想&#xff1a;写的时候容…...

从NOIP真题到算法实战:一元三次方程求解的二分法精讲

1. 从NOIP真题看一元三次方程求解的重要性 第一次接触NOIP真题的同学可能会好奇&#xff0c;为什么一元三次方程求解会成为竞赛中的经典题目&#xff1f;这背后其实隐藏着算法竞赛考察的核心能力——数值计算与算法思维的结合。在2001年NOIP提高组的真题中&#xff0c;这道题就…...

如何快速上手tts-vue:微软语音合成工具的完整使用指南

如何快速上手tts-vue&#xff1a;微软语音合成工具的完整使用指南 【免费下载链接】tts-vue &#x1f3a4; 微软语音合成工具&#xff0c;使用 Electron Vue ElementPlus Vite 构建。 项目地址: https://gitcode.com/gh_mirrors/tt/tts-vue 在数字化时代&#xff0c;…...

AGI伦理对齐失效的3个隐蔽信号,2026奇点大会治理框架中已强制嵌入监测阈值

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AGI的治理框架 2026奇点智能技术大会(https://ml-summit.org) 全球首个AGI治理白皮书发布 在2026奇点智能技术大会上&#xff0c;联合国教科文组织与全球AI治理联盟&#xff08;GAIA Council&#xff09;联合发布了《通用…...