根路径地址返回ruoyi版本信息移除

注释访问首页,提示语

控制层类SysIndexController

/**
* 访问首页,提示语
*/
@RequestMapping("/")
public String index()
{
//return StringUtils.format("欢迎使用{}后台管理框架,当前版本:v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion());
return "";
}

访问控制 spring security配置

SecurityConfig

添加需要放开拦截的url地址,例如requests.antMatchers("/prize/**").permitAll()

@Bean
protected SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception
{
return httpSecurity
// CSRF禁用,因为不使用session
.csrf(csrf -> csrf.disable())
// 禁用HTTP响应标头
.headers((headersCustomizer) -> {
headersCustomizer.cacheControl(cache -> cache.disable()).frameOptions(options -> options.sameOrigin());
})
// 认证失败处理类
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
// 基于token,所以不需要session
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
// 注解标记允许匿名访问的url
.authorizeHttpRequests((requests) -> {
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
requests.antMatchers("/login", "/register", "/captchaImage").permitAll();
// 抽奖活动
requests.antMatchers("/prize/**").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated();
})
// 添加Logout filter
.logout(logout -> logout.logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler))
// 添加JWT filter
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
// 添加CORS filter
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
.addFilterBefore(corsFilter, LogoutFilter.class)
.build();
}

登录首页信息处理

后台管理登录页面的信息修改

  • 后台管理系统名称
  • 登录页面底部版权信息

登录首页背景图片及登录用户头像处理


调用ruoyiupload组件实现文件上传功能

参考博客: Vue 中 import 引入的方法在template模板中使用

Vueimport 引入的方法在template模板中使用

调用ruoyiupload上传文件组件使用




调用模板组件实现上传通知新增记录

参考博客:vue-自定义事件之—— 子组件修改父组件的值

子组件配置

子组件模板

#子组件使用this.$emit()向父组件传值
this.$emit("input", this.listToString(this.fileList));

父组件设置

<uploadIndexVue v-on:input="uploadFile($event)" > </uploadIndexVue>
  • v-on:input是子组件方法、uploadFile是父组件方法
/** 获取上传文件(子组件)地址 */
uploadFile(val){

//空字符串忽略操作
if( val === '' || val.trim().length === 0 ){
return ;
}

//初始字符串
var initUploadFiles = "";

//for循环遍历添加文件请求地址url前缀
var uploadFiles = val.split(',');
for( var i = 0;i<uploadFiles.length;i++ ){
initUploadFiles = "," + process.env.VUE_APP_BASE_API+uploadFiles[0];
}

//上传文件
this.form.uploadPath = initUploadFiles.slice(1);//字符串截取,移除首位','符号

//提交添加数据
addDoc_upload_record(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});

}