自己对认证登录的理解:
简单的说,shiro登录流程就是程序获取到token(即用户输入的账号密码)和shiro中的realm(一般自定义realm从数据库获取到的info)进行匹配。
如果账号匹配不上则报(AuthenticationException)
如果密码匹配不上则报(IncorrectCredentialsException)
其实IncorrectCredentialsException是AuthenticationException的派生类,统称为登录认证异常,即登录失败。
Token:
即shiro内部需要的登录信息。由外部(用户表单输入等)提供给shiro。token是一个接口,shiro下有几个实现如下,常用的是
UsernamePasswordToken
Realm:
即自己应用程序验证用户的数据,一般自定义从数据库获取。
这一步会返回认证info,返回null则报认证异常(AuthenticationException),即登录失败。
Credentials:
即密码,shiro获取到realm返回的info(AuthenticationInfo)后,会把该info交给shiro,然后让s