SimpleAuthenticationInfo 参数 getName() 说明
springMVC springboot 也好,在实例化自定义实现类 Realm是,会调用 无参构造函数。源码中显示赋值name 属性的在类
CachingRealm 的构造函数中
public CachingRealm() { this.cachingEnabled = true; this.name = getClass().getName() + "_" + INSTANCE_COUNT.getAndIncrement(); }
其次name 属性可以重写下面方法自定义。
String getName();
密码匹配分析
HashedCredentialsMatcher 这个类会自动匹配你登录时token 与info 的校验,原因请看下方,此时cm 变量获取的对象就是你的xml配置HashedCredentialsMatcher,接下来看doCredentialsMatch(token,info)方法 需要关注的是 hashProvidedCredentials(token, info) 这个方法,这个方法最后会执行
步骤一:
protected void assertCredentialsMatch(AuthenticationToke