自定义了realm安全数据源后我们要对数据源加密,其实这个也是shiro准备好了的只需要做配置就行
<!-- 自定义的realm -->
<bean id="userRealm" class="com.yanghs.shiro.realm.UserRealm">
<!-- 将凭证匹配器设置到realm中,realm按照凭证匹配器的要求进行散列 -->
<property name="credentialsMatcher" ref="credentialsMatcher"/>
<!--开启用户缓存-->
<property name="authenticationCachingEnabled" value="false"/>
<!--用户缓存-->
<!--<property name="authenticationCacheName" value=""/>-->
<!--开启权限缓存-->
<property name="authorizationCachingEnabled" value="true"/>
<!--权限缓存-->
<property name="authorizationCacheName" value="authenticationCache"/>
</bean>
上面有一个凭证匹配器,需要注入我只需要注入就行
<!-- 散列加盐凭证匹配器 -->
<bean id="credentialsMatcher" class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
<!--加密方式md5-->
<property name="hashAlgorithmName" value="md5" />
<!--机密次数-->
<property name="hashIterations" value="1" />
<!--是否加盐-->
<property name="hashSalted" value="true"/>
</bean>
上面的盐表示在原始密码加东西防止暴力破解。其实我还想md5加密之后再base64加密,后期再改
这样配置之后密码匹配工作就交给上面了不用自己实现