流程:
1.创建secuirtyManager。
2.创建subject
3.subject.login(密匙)安全认证。
3.1subject调用login方法时它的一个实现类 DelegatingSubject,将token托管给securityManeger进行处理。
securityManeger下面有一堆实现类分别处理认证,授权,缓存,session等。
3.2securityManeger通过DefalutSecurityManeger来完成认证。它下面就是有login方法来完成认证。
3.3在login中调用authenticate来完成认证。而authenticate方法是AuthenticatingSecurityManager类完成的。该类中的authenticate调用authenticator认证器来完成的。
3.4认证器是一个接口,默认是由默认实现类ModularRealmAuthenticator来完成认证的。通过它中的doauthenticator来获取realm信息,如果是但realm就将token中的信息与其进行比较。如果是多realm通过认证策略来完成认证。
网友评论