springboot通过URL配置方式访问外部磁盘资源

本文介绍了在SpringBoot项目中如何配置以通过URL访问外部磁盘资源,重点解决了访问时遇到的404错误。通过在后台过滤类中进行特定设置,可以成功访问如http://localhost/xixi/1.png这样的文件路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里有个坑解决了好久,就是访问的时候一直404找不到文件

结果处理,话不多说上代码
在后台过滤类中

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web
### 实现Spring Boot中仅允许登录用户访问静态资源 为了实现在Spring Boot项目中只有已登录的用户能够访问特定的静态资源,可以通过自定义`WebSecurityConfigurerAdapter`来配置安全策略。以下是具体的实现方法: #### 配置静态资源的安全规则 通过重写`configure(HttpSecurity http)`方法,在其中指定哪些URL模式需要经过身份验证才能被访问。 ```java @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/static/**").authenticated() // 只有认证后的用户才可以访问/static/下的资源 .anyRequest().permitAll(); // 其他请求无需认证 http.formLogin() // 启用表单登录功能 .loginPage("/login") // 自定义登录页面地址 .defaultSuccessUrl("/") // 登录成功跳转到主页 .and() .logout().logoutSuccessUrl("/"); // 注销后返回首页 } } ``` 上述代码片段表明 `/static/**` 路径下的所有资源都需要用户完成身份验证之后才能够获取[^1]。对于其他未特别指明权限需求的 URL 请求,则保持开放状态以便于正常浏览网站内容。 #### 设置静态资源配置 尽管Spring Boot已经内置支持了几种常见的静态目录位置如 `classpath:/META-INF/resources/`, `classpath:/resources/`, `classpath:/static/`, 和 `classpath:/public/`. 如果希望进一步调整这些设置或者增加额外的映射关系, 则可以在应用启动类上添加如下所示的相关逻辑: ```java import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class MvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/custom-static/**") .addResourceLocations("file:/path/to/custom/static/"); } } ``` 这里我们创建了一个新的端点 `/custom-static/**` 来指向外部磁盘上的某个文件夹作为附加的静态资源存储区[^2]. 请注意如果要保护这个新加入的区域同样也需要将其纳入前面提到过的HttpSecurity配置当中去. 最后提醒一点就是当涉及到实际生产环境部署的时候一定要仔细考虑安全性因素比如防止敏感数据泄露等问题.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值