principal argument cannot be null

具体报错信息如下:
关键如下
Realm中抛出的异常
代码:
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(userInfo, password, getName());
创建Shiro 存储主体(Subject)身份认证信息发生的报错,于是点进源码发现:
进入到创建类的构造方法
就是这抛出的异常就是在这里抛出的异常
后检查自己代码发现,在给userinfo对象赋值时,给成了null导致,shiro在进行发密码比对环节,抛出了异常。
在这里插入图片描述
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(userInfo, password, getName());
将对象正常赋值后,就没异常了。
另外,Shiro框架有一套流程,会对用户的账号密码进行校验,所以自己创建的Realm不需要进行 eques比对
详细原理,请参照该篇博客:Shiro框架的账号密码进行校验