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

若依前后端分离版入门

1.本机环境部署

2.前端路由修改

3.防xss过滤修改

4.权限配置

5.菜单配置

本机环境部署

前端:
编译器:vscode
环境:node

后端:
编译器:IDEA
环境:jdk1.8,MySQL5.7,Redis5.0,navicat

编译器可以使用idea就足够,只不过我习惯了用vscode写前端代码,
前端部分运行:

npm install
npm run dev

后端部分需要修改配置:

1.运行sql文件,修改数据库配置。
在这里插入修改图片描述
2.启动redis,修改redis配置
在这里插入图片描述
3.修改日志位置
在这里插入图片描述
启动即可!

前端路由修改

当需要新增页面时,就需要修改若依路由配置,若依对路由做了严格配置(导航守卫)

在这里插入图片描述

若要修改启动页,就必须修改前置钩子,以及修改redirect.

防xss过滤修改

若依采用的是http协议,这样就有可能面临着xss攻击的情况
如果是不处理的话对于项目来说是一个很大的漏洞,但有些时候前端可能会用到传入一些标签的形式来处理一些情况,这个时候是又需求的,所以也不能完全屏蔽掉。

若依这里是采用配置拦截器的方式来处理xss攻击,一旦请求被过滤器拦截,就会转入到自定义的拦截器XssFilter当中,首先解决的就是判断是否启用xss拦截器和是否需要拦截,若依这里是采用在配置文件当中填写具体信息的方式,来配置是否启用xss,是否是白名单,是否是匹配链接。按照后台填写的数据处理请求,如果是不启用或者是该请求为白名单,就直接将请求放过如果不通过就交给XssHttpServletRequestWrapper来处理。

import cn.hutool.core.util.StrUtil;
import com.wzld.common.filter.RepeatableFilter;
import com.wzld.common.filter.XssFilter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.servlet.DispatcherType;
import java.util.HashMap;
import java.util.Map;

/**
 * Filter配置
 *
 * @author ruoyi
 */
@Configuration
public class FilterConfig
{
    @Value("${xss.enabled}")
    private String enabled;

    @Value("${xss.excludes}")
    private String excludes;

    @Value("${xss.urlPatterns}")
    private String urlPatterns;

    @SuppressWarnings({ "rawtypes", "unchecked" })
    @Bean
    public FilterRegistrationBean xssFilterRegistration()
    {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setDispatcherTypes(DispatcherType.REQUEST);
        registration.setFilter(new XssFilter());
        registration.addUrlPatterns(StrUtil.split(urlPatterns, ","));
        registration.setName("xssFilter");
        registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE);
        Map<String, String> initParameters = new HashMap<String, String>();
        initParameters.put("excludes", excludes);
        initParameters.put("enabled", enabled);
        registration.setInitParameters(initParameters);
        return registration;
    }

    @SuppressWarnings({ "rawtypes", "unchecked" })
    @Bean
    public FilterRegistrationBean someFilterRegistration()
    {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new RepeatableFilter());
        registration.addUrlPatterns("/*");
        registration.setName("repeatableFilter");
        registration.setOrder(FilterRegistrationBean.LOWEST_PRECEDENCE);
        return registration;
    }

}

```java
# 防止XSS攻击
xss: 
  # 过滤开关
  enabled: true
  # 排除链接(多个用逗号分隔)
  excludes: /system/notice,/system/news

  # 匹配链接
  urlPatterns: /system/*,/monitor/*,/tool/*
																	----application.yml

配置排除链接,添加富文本。

权限配置

基本的操作权限在后台根据角色,部门分配权限即可!
在这里插入图片描述
开放接口访问权限
在这里插入图片描述

菜单配置

看到这我想你已经会了!

相关文章:

  • DRV8812芯片被国产激光打印机驱动芯片TMI8262取代
  • 三十三、《大数据项目实战之用户行为分析》Spark SQL读写MySQL
  • 负载开关、高侧开关、低侧开关等
  • 【LeetCode】146、LRU 缓存【中等】
  • 【JavaWeb项目】基于WebSocket的Web聊天室
  • File对象转MultipartFile 如何new出高仿MultipartFile对象
  • VScode配置运行C/C++、python,及快捷键配置
  • 【threejs】可视化大屏酷炫3D地图附源码
  • 安路FPGA学习备忘录
  • 目标检测算法——YOLOv5改进之结合MobileOne结构
  • Python之“诗词大会”游戏
  • MySQL:索引知识点盘点
  • 大神之路-起始篇 | 第9章.计算机科学导论之【程序设计语言】学习笔记
  • Python 的Tkinter包系列之四:对话框
  • 大神之路-起始篇 | 第8章.计算机科学导论之【数据算法】学习笔记
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • CentOS 7 防火墙操作
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • HTTP--网络协议分层,http历史(二)
  • JavaScript实现分页效果
  • Java的Interrupt与线程中断
  • Lsb图片隐写
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • php ci框架整合银盛支付
  • Spark RDD学习: aggregate函数
  • Spring框架之我见(三)——IOC、AOP
  • VUE es6技巧写法(持续更新中~~~)
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 每天一个设计模式之命令模式
  • 前端面试题总结
  • 前端相关框架总和
  • 译自由幺半群
  • Hibernate主键生成策略及选择
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #mysql 8.0 踩坑日记
  • #QT 笔记一
  • #面试系列-腾讯后端一面
  • (PySpark)RDD实验实战——取一个数组的中间值
  • (编译到47%失败)to be deleted
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (九)c52学习之旅-定时器
  • (九十四)函数和二维数组
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (新)网络工程师考点串讲与真题详解
  • (转)c++ std::pair 与 std::make
  • (转)编辑寄语:因为爱心,所以美丽
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ***监测系统的构建(chkrootkit )
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET MVC 验证码