Java Spring Boot-Microservice-Zuul-Secured注解

Java Spring Boot-Microservice-Zuul-Secured注解,java,rest,spring-boot,spring-security,microservices,Java,Rest,Spring Boot,Spring Security,Microservices,我有Zuul代理作为网关应用程序在8080中运行,项目应用程序作为微服务在8090中运行。我试图通过Rest控制器创建一个项目,但当我试图访问url时,遇到访问被拒绝的问题,并得到401的响应 项目微服务 项目申请 @EnableGlobalMethodSecurity(securedEnabled = true) @EnableDiscoveryClient @SpringBootApplication(scanBasePackages = "packagename") public clas

我有Zuul代理作为网关应用程序在8080中运行,项目应用程序作为微服务在8090中运行。我试图通过Rest控制器创建一个项目,但当我试图访问url时,遇到访问被拒绝的问题,并得到401的响应

项目微服务

项目申请

@EnableGlobalMethodSecurity(securedEnabled = true)
@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages = "packagename")
public class ProjectApplication {

    public static void main(String[] args) {
        SpringApplication.run(ProjectApplication.class, args);
    }

}
如果我对GlobalSecurity注释进行注释,它将非常有效。但权威检查并没有发生

项目控制器

@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping(value = ApplicationConstant.API_PATH_PROJECT)
public class ProjectController {

    private static final Logger logger = LoggerFactory.getLogger(ProjectController.class);

    @Autowired
    ProjectService projectService;

    @Secured({ RoleConstant.ROLE_ADMIN_PROJECT})
    @Transactional(rollbackFor = { Exception.class })
    @RequestMapping(value = ApplicationConstant.API_PATH_CREATE, method = RequestMethod.POST)
    public ResponseEntity<?> create(@ModelAttribute ProjectRequest projectRequest, HttpServletRequest request)
            throws ApiException, IOException, ParseException {
     ....
 }
}
发现微服务属性

spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/XXXXXXX
spring.datasource.username=root
spring.datasource.password=XXXXXXXXX

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

#spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false

server.port = 8094

eureka.client.eureka-server-port=8761
eureka.client.serviceUrl.defaultZone = http://discUser:discPassword@localhost:8761/eureka
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
eureka.instance.prefer-ip-address=true

为了使
@EnableGlobalMethodSecurity
正常工作,您必须首先设置Spring security来验证请求,以便Spring security知道用户是谁。那么您的spring安全配置是什么?@KenChan我已经更新了配置为了使
@EnableGlobalMethodSecurity
正常工作,您必须首先设置spring安全以验证请求,以便spring安全知道用户是谁。那么您的spring安全配置是什么?@KenChan我已经更新了配置
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/XXXXXXX
spring.datasource.username=root
spring.datasource.password=XXXXXXXXX

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

#spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false

server.port = 8094

eureka.client.eureka-server-port=8761
eureka.client.serviceUrl.defaultZone = http://discUser:discPassword@localhost:8761/eureka
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
eureka.instance.prefer-ip-address=true