项目场景:
项目采用spring boot+shiro+cas配置,由于数据库原因,登录时认证失败,记录一下解决过程。
问题描述:
cas验证用户成功后,到shiro自定义的realm中执行doGetAuthenticationInfo方法时,抛出NullPointerException异常,异常信息如下:
[http-nio-8088-exec-9] WARN o.a.s.a.AbstractAuthenticator - [authenticate.2161 - Authentication failed for token submission [io.buji.pac4j.token.Pac4jTokenC38e5bc461. Possible unexpected error? (Typical or expected login exce ptions should extend from AuthenticationException).
java.lang-NullPointerException:null
原因分析:
数据库因素:
导致shiro登录认证失败的因素有很多,但其实数据库占很大一部分原因,检查一下数据库是否启动,连接配置是否正确,mabatis的mapperxml配置文件写错是否写错等;
根据报错信息NullPointerException:null,判断大概是因为未查询到数据导致,分为两种情况:
1、根据用户名或登录名