鍍金池/ 問(wèn)答/Java  網(wǎng)絡(luò)安全/ spring-security 結(jié)合jwt報(bào)錯(cuò),如何解決?

spring-security 結(jié)合jwt報(bào)錯(cuò),如何解決?

java.lang.ClassCastException: org.springframework.security.core.userdetails.User cannot be cast to com.qtay.gls.dao.entity.User

clipboard.png

回答
編輯回答
墨小白

userDao沒(méi)有注入的問(wèn)題啊

2017年4月3日 09:13
編輯回答
陌璃

我想是你的52行從數(shù)據(jù)庫(kù)取出數(shù)據(jù)后,方法成功放到User 對(duì)象user 中,運(yùn)行到57行的時(shí)候,user 對(duì)象實(shí)際上是null,所有你在取user.getPassword(),出錯(cuò)了。
原因有可能是你的User entity 和數(shù)據(jù)庫(kù)中的User table 字段不匹配,比如你的User entity 的字段數(shù)據(jù)庫(kù)User 表的字段少,或者有字段名字不一樣之類(lèi)的。導(dǎo)致User entity 無(wú)法承載數(shù)據(jù)庫(kù)取出 的user 對(duì)象。所以檢查一下你的User entity是否正確。

你可以再57行打斷點(diǎn)驗(yàn)證一下我的猜想,是不是52行的user 是不是為null。

2017年1月8日 11:09
編輯回答
北城荒

都運(yùn)行到is here了怎么可能沒(méi)有注入

2018年5月31日 07:38