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 里面确实使用到了。
把这个注释掉再启动发现没问题了。