1.通过ini配置文件创建securityManager
2.调用subject.login方法主体提交认证
3.securityManager进行认证,securityManager最终由ModularRealmAuthenticator进行认证
4.ModularRealmAuthenticator调用IniRealm去Ini配置文件中查询用户信息
5.ModularRealm根据输入的token(UsernamePasswordToken)从shiro-first.ini文件中查询用户信息,根据用户账号查询用户信息(用户和密码):
如果查询到用户信息,就给ModularRealmAuthenticator返回用户信息(账号密码)
如果没有查询到信息,就给ModularRealmAuthenticator返回Null
6.ModularRealmAuthenticator接收IniRealm返回 Authentication认证信息
如果返回的认证信息是Null,就抛出用户找不到异常
如果返回的认证信息不是Null(说明IniRealm找到了用户),对IniRealm的用户密码和token中的密码进行对比,如果不一致,抛出一个凭证错误异常