验证登入用户密码时,loadUserByUsername里如何自定义抛错

Blade 未结 2 2725
mikklqq
mikklqq 2019-10-15 10:53

目前loadUserByUsername方法里只会抛错“用户名或密码错误”,即“throw new UsernameNotFoundException 方法”。然而抛其他任何异常,如:Throw new AccountExpiredException ,DisabledException,ApiException 等等异常,前端直接挂了。调试发现“父类.Class文件里(此文件为org.springframework.security文件)”:

public interface UserDetailsService {

    UserDetails loadUserByUsername(String var1) throws UsernameNotFoundException;

}

这里好像直接写死了,请问下,我现在向抛出自己的错误,该如何修改编写代码?

image.png



2条回答
  •  karlwanghn@163.
    2020-04-22 17:29

    我也出现同样的问题,只能抛出

    OAuth2Exception

    异常并且还必须加image.png前辍,当密码认证不通过时,抛如下异常

    image.png

    作者追问:2020-04-22 17:29

    搜一下一堆解决方案,总有一个能满足需求

    image.png

    回答: 2020-04-22 17:29

    image.png将版本降到2.3.5就可以,2.3.7会我有说的bug

提交回复