Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全性:包含AuthenticationManager.authenticate()的方法引发异常_Java_Spring Boot_Spring Security - Fatal编程技术网

Java Spring安全性:包含AuthenticationManager.authenticate()的方法引发异常

Java Spring安全性:包含AuthenticationManager.authenticate()的方法引发异常,java,spring-boot,spring-security,Java,Spring Boot,Spring Security,我有一个方法在里面使用了authenticate()方法,我发现混淆的是AuthenticationManager.authenticate()在验证失败时抛出AuthenticationException,但是方法authenticateUser不会抛出任何异常,也不会触发编译错误 @PostMapping("/signin") public ResponseEntity<?> authenticateUser(@Valid @RequestBody LoginForm l

我有一个方法在里面使用了
authenticate()
方法,我发现混淆的是
AuthenticationManager.authenticate()
在验证失败时抛出AuthenticationException,但是方法
authenticateUser
不会抛出任何异常,也不会触发编译错误

@PostMapping("/signin")
    public ResponseEntity<?> authenticateUser(@Valid @RequestBody LoginForm loginRequest){

        Authentication authentication = authenticationManager.authenticate(
                new UsernamePasswordAuthenticationToken(loginRequest.getUsername(), loginRequest.getPassword()));

        SecurityContextHolder.getContext().setAuthentication(authentication);

    }

@PostMapping(/signin)
公共响应身份验证者(@Valid@RequestBody LoginForm loginRequest){
Authentication=authenticationManager.authenticate(
新的UsernamePasswordAuthenticationToken(loginRequest.getUsername(),loginRequest.getPassword());
SecurityContextHolder.getContext().setAuthentication(身份验证);
}

因为
AuthenticationException
RuntimeException
。编译器不会检查您是否处理
运行时异常
。如果你想处理它,你必须自己去捕捉它。你的控制器不是一个
AuthenticationManager
,为什么要这么做呢。接下来是一个运行时异常。最后,我想知道为什么这个控制器会完全绕过Spring安全性和它所做的所有检查。因为
AuthenticationException
RuntimeException
。编译器不会检查您是否处理
运行时异常
。如果你想处理它,你必须自己去捕捉它。你的控制器不是一个
AuthenticationManager
,为什么要这么做呢。接下来是一个运行时异常。最后,我想知道为什么这个控制器会完全绕过Spring Security和它所做的所有检查。