日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SpringBoot 整合 Shiro 密碼登錄的實現代碼

瀏覽:22日期:2023-03-23 18:07:36

導入依賴(pom.xml)

<!--整合Shiro安全框架--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> <!--集成jwt實現token認證--> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.2.0</version> </dependency>

創建 ShiroConfig 配置類

@Configurationpublic class ShiroConfig { /** * ShiroFilterFactoryBean */ @Bean public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier('securityManager') DefaultWebSecurityManager defaultWebSecurityManager) { ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean(); //設置安全管理器 factoryBean.setSecurityManager(defaultWebSecurityManager); // 添加shiro的內置過濾器 /* * anon:無需認證就可以訪問 * authc:必須認證才能訪問 * user:必須擁有 記住我 功能才能用 * perms:擁有對某個資源的權限能訪問 * role:擁有某個角色權限能訪問 */ Map<String, String> filterMap = new LinkedHashMap<>(); // 放行不需要權限認證的接口 //放行登錄接口 filterMap.put('/login/**', 'anon'); //放行用戶接口 filterMap.put('/', 'anon'); // 網站首頁 //認證管理員接口 filterMap.put('/administrators/**', 'authc'); factoryBean.setFilterChainDefinitionMap(filterMap); // 設置無權限時跳轉的 url // 設置登錄的請求 factoryBean.setLoginUrl('/login/toLogin'); return factoryBean; } /** * 注入 DefaultWebSecurityManager */ @Bean(name = 'securityManager') public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier('customRealm') CustomRealm customRealm) { DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); //關聯CustomRealm securityManager.setRealm(customRealm); return securityManager; } /** * 注入 securityManager */ @Bean public CustomRealm customRealm() { return new CustomRealm(); }}

創建密碼登錄時驗證授權 CustomRealm 類

@Componentpublic class CustomRealm extends AuthorizingRealm { @Autowired AdministratorsService administratorsService; /* * 設置加密方式 */ { HashedCredentialsMatcher mather = new HashedCredentialsMatcher(); // 加密方式 mather.setHashAlgorithmName('md5'); // 密碼進行一次運算 mather.setHashIterations(512); this.setCredentialsMatcher(mather); } /** * 授權 */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { System.out.println('————授權————doGetAuthorizationInfo————'); return null; } /** * 認證 */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { System.out.println('————認證————doGetAuthenticationInfo————'); UsernamePasswordToken userToken = (UsernamePasswordToken) token; // 連接數據庫 查詢用戶數據 QueryWrapper<Administrators> wrapper = new QueryWrapper<>(); wrapper.eq('username', userToken.getUsername()); Administrators administrators = administratorsService.getOne(wrapper); if (administrators == null) { return null; // 拋出異常 UnknownAccountException } // 密碼認證,shiro做 return new SimpleAuthenticationInfo('', administrators.getPassword(), ''); }}

控制層用戶密碼登錄

//用戶名登錄 @ApiOperation(value = '管理員登錄', notes = '用戶名登錄--不進行攔截') @PostMapping('/doLogin') public String doLogin(@RequestParam('username') String username, @RequestParam('password') String password, HttpSession session,Model model) { // 獲取當前的用戶 Subject subject = SecurityUtils.getSubject(); // 封裝用戶的登錄數據 UsernamePasswordToken token = new UsernamePasswordToken(username, password); try { subject.login(token); //保存session會話 管理員名字 session.setAttribute('adname', username); return 'admin'; } catch (UnknownAccountException e) { model.addAttribute('usererror', '用戶名錯誤!請重新輸入。'); return 'login'; } catch (IncorrectCredentialsException ice) { model.addAttribute('pwerror', '密碼錯誤!請重新輸入。'); return 'login'; } }

到此這篇關于SpringBoot 整合 Shiro 密碼登錄的實現代碼的文章就介紹到這了,更多相關SpringBoot 整合 Shiro 密碼登錄內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本少妇精品亚洲第一区| 久久久精品五月天| 亚洲九九精品| 美女被久久久| 亚洲精品无播放器在线播放| 亚洲男人在线| 欧美日韩一区二区国产| 国产精品宾馆| 精品国产a一区二区三区v免费| 久久永久免费| 高潮一区二区| 亚洲午夜黄色| 免费日韩av片| 日韩av一区二| 电影91久久久| 日韩中文在线电影| 亚洲一级特黄| 只有精品亚洲| 国产精品香蕉| 久久uomeier| 亚洲精品一区二区在线看| 一区二区三区国产盗摄| 国产欧美日韩影院| 国产精品久久久久久久免费观看| 天堂资源在线亚洲| 日韩在线一二三区| 欧美精品99| 美女av在线免费看| 国产亚洲午夜| 国产美女精品视频免费播放软件| 精品国产欧美日韩| 香蕉精品视频在线观看| 香蕉久久一区| 精品国产不卡一区二区| 欧美成人国产| 青青国产91久久久久久| 精品免费视频| 一区视频在线| 国产日韩视频| 久久久人人人| 亚洲精品九九| 久久久久久网| 免费在线成人网| 久久精品一本| 亚洲一区国产一区| 国产精品日本一区二区三区在线| av综合电影网站| 蜜臀av亚洲一区中文字幕| 精品一区二区三区中文字幕视频 | 自拍自偷一区二区三区| 精品国产亚洲一区二区三区在线| 亚洲欧美日韩一区在线观看| 久久天堂成人| 亚洲91在线| 在线亚洲人成| 日韩三级精品| 91精品一区二区三区综合在线爱| 日本欧美久久久久免费播放网| 精品一区二区三区的国产在线观看| 久久精品影视| 国产伦乱精品| 狠狠爱www人成狠狠爱综合网| 国产高清视频一区二区| 在线视频亚洲| 成人国产精品一区二区网站| 中文在线日韩| 久久久久国产精品一区三寸| 国产视频网站一区二区三区| 午夜久久福利| 国产中文欧美日韩在线| 亚洲香蕉久久| 亚洲国产专区| 成人国产精品| 日韩国产欧美视频| 久久精品亚洲欧美日韩精品中文字幕| 18国产精品| 亚洲精品在线观看91| 精品国产a一区二区三区v免费| 亚洲精品看片| 欧美女激情福利| 国产一区二区三区网| 日本久久一区| 亚洲免费精品| 97精品中文字幕| 国产精品亚洲欧美日韩一区在线| 国产精品普通话对白| 中文另类视频| 国产九一精品| 亚洲精品乱码日韩| 婷婷综合社区| 精品一区二区三区在线观看视频 | 日产欧产美韩系列久久99| 尤物tv在线精品| 国产在线视频欧美一区| 久久激情综合网| | 亚洲欧美日韩专区| 久久黄色影院| а√天堂8资源在线| 精品三区视频| 国产精品a级| 欧美日本久久| 日韩精品中文字幕一区二区| 手机精品视频在线观看| 红桃视频欧美| 激情自拍一区| 欧美1级日本1级| 日韩欧美一区二区三区在线观看| 精品亚洲免a| 免费日韩成人| 麻豆精品av| 国产精品美女在线观看直播| 欧美日韩一二| 久久精选视频| 国产在线|日韩| 日韩免费久久| av资源新版天堂在线| 国产一区二区三区免费在线| 麻豆精品在线观看| 欧美国产另类| 国产精品高清一区二区| 国产欧美日韩综合一区在线播放| 日韩av中文字幕一区| 欧美一区自拍| 国产精品麻豆成人av电影艾秋| 国产精品极品在线观看| 国产精品一站二站| 国产三级精品三级在线观看国产| 欧美日韩a区| 国产麻豆一区| 久久精品天堂| 黄色aa久久| 欧美成人基地 | 欧美一区二区三区久久精品| 欧美日韩一区自拍| 国产伦精品一区二区三区视频| 亚洲精品网址| 免费人成黄页网站在线一区二区| 国产亚洲精品v| 日韩专区欧美专区| 亚洲精品激情| 国产日韩中文在线中文字幕| 牛牛精品成人免费视频| 久久久久久自在自线| 国产在线|日韩| 亚洲欧美视频一区二区三区| 中文字幕一区二区三区日韩精品 | 四虎8848精品成人免费网站| 日韩成人精品一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产欧美日韩一级| 精品国产99| 欧美日韩国产高清| 女主播福利一区| 蜜臀精品久久久久久蜜臀| 最新国产精品| 国产极品嫩模在线观看91精品| yellow在线观看网址| 不卡一区综合视频| 日韩一二三区在线观看| 国产精品久久久久久av公交车 | 日本韩国欧美超级黄在线观看| 一本一本久久| 国产欧美一区二区三区米奇| 精品久久国产一区| 久久在线免费| 日韩欧美2区| 精品三级av| 免费观看不卡av| 日韩毛片网站| 国产福利片在线观看| 奶水喷射视频一区| 国产高清日韩| 香蕉国产精品| 国产精品免费大片| 日本在线高清| 日韩一区二区三区精品| 日韩av有码| 综合激情一区| 国产精品国产一区| 视频一区二区三区中文字幕| 麻豆91小视频| 国产精品嫩草99av在线| 免费亚洲一区| 丝袜诱惑制服诱惑色一区在线观看 | 成人精品高清在线视频| 国产乱码精品| 青青久久av| 亚洲一区免费| 精品精品99| 蜜桃一区二区三区在线| 激情久久99| 中文字幕成人| yellow在线观看网址| 中文字幕成人| 久久精品中文| 国产精品一卡| 亚洲我射av| 久久美女精品| 久久亚洲精品中文字幕|