當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot Shiro 配置自定义密码加密器
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot Shiro 配置自定义密码加密器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SpringBoot Shiro 配置自定義密碼加密器
自定義認證加密方式
/*** 自定義認證加密方式*/ public static class CustomCredentialsMatcher extends SimpleCredentialsMatcher {@Overridepublic boolean doCredentialsMatch(AuthenticationToken authcToken, AuthenticationInfo info) {UsernamePasswordToken token = (UsernamePasswordToken) authcToken;//加密類型,密碼,鹽值,迭代次數Object tokenCredentials = new SimpleHash("md5", password, username, 2).toHex();//數據庫存儲密碼Object accountCredentials = getCredentials(info);//將密碼加密與系統加密后的密碼校驗,內容一致就返回true,不一致就返回falsereturn equals(tokenCredentials, accountCredentials);} }第一種方式:配置Bean
/*** Shiro自帶密碼管理器** @return HashedCredentialsMatcher*/ @Bean public HashedCredentialsMatcher hashedCredentialsMatcher() {//Shiro自帶加密HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher();//散列算法使用md5credentialsMatcher.setHashAlgorithmName("md5");//散列次數,2表示md5加密兩次credentialsMatcher.setHashIterations(2);credentialsMatcher.setStoredCredentialsHexEncoded(true);return credentialsMatcher; }/*** 將自己的身份驗證器驗證方式加入容器** @return CustomRealm*/ @Bean public CustomRealm shiroRealm() {CustomRealm shiroRealm = new CustomRealm();//shiroRealm.setCacheManager(cacheManager());//加入密碼管理//shiroRealm.setCredentialsMatcher(hashedCredentialsMatcher());//Shiro自帶密碼管理器shiroRealm.setCredentialsMatcher(new CustomCredentialsMatcher());//自定義密碼管理器return shiroRealm; }第二種方式:實現AuthorizingRealm類setCredentialsMatcher方法
public class CustomRealm extends AuthorizingRealm {........./*** 設置自定義認證加密方式** @param credentialsMatcher 默認加密方式*/@Overridepublic void setCredentialsMatcher(CredentialsMatcher credentialsMatcher) {//自定義認證加密方式CustomCredentialsMatcher customCredentialsMatcher = new CustomCredentialsMatcher();// 設置自定義認證加密方式super.setCredentialsMatcher(customCredentialsMatcher);} }趙小胖個人博客
總結
以上是生活随笔為你收集整理的SpringBoot Shiro 配置自定义密码加密器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: boost之测试
- 下一篇: 串行通信接10K上拉电阻与101电容作用