java的instanceOf问题

在使用springboot+spring security开发项目时,使用了instanceOf 判断是否属于某一个类,从而进行强转。

但是今天在一个新的项目中加入security进行获取用户信息的时候发现一个问题。

通过security的Authentication 获取到的 principal 不属于同一个UserDetail 

通过object.getClass() 发现两个类是同一个类。

但是通过object.getClass().getClassLoader() 发现一个是sun.misc.Launcher 一个是 org.springframework.boot.devtools.restart.classloader.RestartClassLoader

devtools是Spring Boot DevTools 里面的。

一看pom  里面确实使用到了。

把这个注释掉再启动发现没问题了。

 

posted @ 2024-05-29 11:06  沙师弟demo  阅读(12)  评论(0编辑  收藏  举报