springboot+spring security+html+templates上传文件或者图片出现403

网上几种方法
这里介绍简单的
上传文件那个HTML文件加入这两行

  <meta name="_csrf" th:content="${_csrf.token}"/>
    <meta name="_csrf_header" th:content="${_csrf.headerName}"/>

注意是th:content,因为用的是templates模板

还有这里也要注意:也要加th:

 <form th:action="upload" th:method="post" enctype="multipart/form-data">
     <button class="layui-btn" style="width: 205px;height: 38px;" >
     	<input type="file" name="myfile" style="height: 34px;line-height: 34px"/>
     </button>
     <button type="submit" class="layui-btn" id="test1">
          <i class="layui-icon">&#xe67c;</i>上传图片
     </button>
 </form>

更多信息可看这篇文章:
链接: https://stackoverflow.com/questions/21696592/disable-spring-security-for-options-http-method
.

Spring SecuritySpring 生态系统中非常受欢迎的安全框架,它提供了许多安全特性,如身份验证、授权、攻击防护等。Spring BootSpring 框架的一个扩展,可以帮助我们快速搭建 Spring 应用程序。在这里,我将介绍如何整合 Spring BootSpring Security。 首先,在 pom.xml 文件中添加以下依赖: ```xml <dependencies> <!-- Spring Boot Web Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Security Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> </dependencies> ``` 然后,在应用程序主类上添加 @EnableWebSecurity 注解,这个注解会自动配置 Spring Security: ```java @SpringBootApplication @EnableWebSecurity public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } ``` 接下来,创建一个继承自 WebSecurityConfigurerAdapter 的配置类,覆盖默认的 Spring Security 配置: ```java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll() .and() .logout().permitAll(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("user").password("{noop}password").roles("USER") .and() .withUser("admin").password("{noop}password").roles("USER", "ADMIN"); } } ``` 这个配置类定义了两个方法 configure(HttpSecurity http) 和 configure(AuthenticationManagerBuilder auth)。configure(HttpSecurity http) 方法定义了应用程序的安全规则,比如所有请求都需要身份验证,登录页面为 /login,注销页面为 /logout;configure(AuthenticationManagerBuilder auth) 方法定义了用户身份验证方式,这里我们使用了一个内存中的用户存储来进行身份验证。 最后,我们可以在控制器中添加一个 /login 的请求处理方法,用于显示登录页面: ```java @Controller public class LoginController { @GetMapping("/login") public String login() { return "login"; } } ``` 这个方法返回一个名为 login 的视图,我们可以在 resources/templates 目录下创建 login.html 页面来显示登录表单。 到此为止,Spring BootSpring Security 的整合已经完成了,我们可以启动应用程序并访问 http://localhost:8080/login 来测试登录页面了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值