vue +security 前后段分离权限管理小demo

本文介绍了一个使用Vue和Security实现前后端分离权限管理的小型DEMO。内容包括解决跨域问题的多种方法,后端代码编写,以及1.0和2.0两个版本的区别。1.0版本简单直接,但安全性不足;2.0版本加强了安全性,使用Vue路由器,并优化了权限处理。详细步骤和代码示例可在提供的链接中查看。
摘要由CSDN通过智能技术生成
security+ vue 实现前后端分离权限

演示视频链接:
https://gulibuckets.oss-cn-shenzhen.aliyuncs.com/Action 2021-6-1 20-46-34.mp4?versionId=CAEQIxiBgICG8ceezhciIGYwOGFhNDRjYmJmZDQ3M2ZhNWNkODkxMWFjMmYwMjY3

gitee demo 地址 : https://gitee.com/wx_c3b99916a9/vue_security/tree/css/

第一步:跨域问题,

前后段分离,需要解决跨域 问题,像当前vue + security 解决:有以下会遇到的解决跨域的方法

第一: 使用 srping 注解 @CrossOrigin (只能解决本controller 控制器 , 或者 ,本方法跨域)

第二,全局跨域 需要写一个 过滤器 来继承 WebMvcConfigurer 接口,然后配合

@Configuration
public class CorsConfig implements WebMvcConfigurer {
   
    private CorsConfiguration buildConfig() {
   
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.addExposedHeader("Authorization");
        return corsConfiguration;
    }
        @Bean
        public CorsFilter corsFilter() {
   
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }
        @Override
        public void addCorsMappings(CorsRegistry registry) {
   
        registry.addMapping("/**").allowedOriginPatterns("*")
              .allowCredentials(true)
              .allowedMethods("GET", "POST", "DELETE", "PUT")
              .maxAge(3600);
              }
              }

第三: security 内置解决跨域 配置

public class CsrfSecurityRequestMatcher implements RequestMatcher {
   

    private final Pattern allowedMethods = Pattern.compile("^(GET|HEAD|TRACE|OPTIONS)$");
    //设置可以放过的请求
    private final RegexRequestMatcher unprotectedMatcher = new RegexRequestMatcher("^/.*", null);

    @Override
    public boolean matches(HttpServletRequest request) {
   
        if(allowedMethods.matcher(request.getMethod(
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值