New file |
| | |
| | | package com.hx.security.request; |
| | | |
| | | import org.apache.tomcat.util.descriptor.web.SecurityCollection; |
| | | import org.apache.tomcat.util.descriptor.web.SecurityConstraint; |
| | | import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; |
| | | import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | |
| | | /**设置限制请求*/ |
| | | @Configuration |
| | | public class RequestRestriction { |
| | | |
| | | @Bean |
| | | public ConfigurableServletWebServerFactory configurableServletWebServerFactory() { |
| | | TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); |
| | | factory.addContextCustomizers(context -> { |
| | | SecurityConstraint securityConstraint = new SecurityConstraint(); |
| | | securityConstraint.setUserConstraint("CONFIDENTIAL"); |
| | | SecurityCollection collection = new SecurityCollection(); |
| | | //设置不安全请求不能通过 |
| | | collection.addPattern("/*"); |
| | | collection.addMethod("HEAD"); |
| | | collection.addMethod("PUT"); |
| | | collection.addMethod("DELETE"); |
| | | collection.addMethod("OPTIONS"); |
| | | collection.addMethod("TRACE"); |
| | | collection.addMethod("COPY"); |
| | | collection.addMethod("SEARCH"); |
| | | collection.addMethod("PROPFIND"); |
| | | //collection.addMethod("PATCH"); |
| | | securityConstraint.addCollection(collection); |
| | | context.addConstraint(securityConstraint); |
| | | }); |
| | | return factory; |
| | | } |
| | | |
| | | |
| | | } |