Shiro是Apache下的一个开源项目。shiro属于轻量级框架,相对于SpringSecurity简单的多,也没有SpringSecurity那么复杂。最新版本:
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.12.0</version>
</dependency>
Download Apache Shiro | Apache Shiro
认证流程
创建token令牌,token中有用户提交的认证信息即账号和密码;
执行subject.login(token),最终由securityManager通过Authenticator进行认证;
Authenticator的实现ModularRealmAuthenticator调用MyShiroRealm以获取系统中用户真实的账号和密码;
MyShiroRealm先根据token中的账号去系统中找该账号,如果找不到则抛出UnknownAccountException异常。如果找到则返回AuthenticationInfo(含真实密码);
Authenticator根据realm返回的AuthenticationInfo匹配密码,失败则抛出IncorrectCredentialsException异常,成功则认证通过。
授权流程