亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 幫助中心 > 正文

Springboot整合Shiro的代碼實例

2024-07-09 22:41:08
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Springboot整合Shiro的代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、導入依賴

<!--shiro--><dependency>  <groupId>org.apache.shiro</groupId>  <artifactId>shiro-spring</artifactId>  <version>1.4.0</version></dependency>

2、創建ShiroRealm.java文件

(這里按照需求,只做登錄認證這塊)

package com.hyqfx.manager.shiro;import com.baomidou.mybatisplus.mapper.EntityWrapper;import com.hyqfx.manager.entity.po.SystemAdmin;import com.hyqfx.manager.service.ISystemAdminService;import org.apache.shiro.authc.*;import org.apache.shiro.authz.AuthorizationInfo;import org.apache.shiro.realm.AuthorizingRealm;import org.apache.shiro.subject.PrincipalCollection;import org.springframework.beans.factory.annotation.Autowired;public class ShiroRealm extends AuthorizingRealm {  @Autowired  private ISystemAdminService adminService;  //授權  @Override  protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {    /*    //獲取登錄用戶名    String name= (String) principalCollection.getPrimaryPrincipal();    //查詢用戶名稱    User user = loginService.findByName(name);    //添加角色和權限    SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo();    for (Role role:user.getRoles()) {      //添加角色      simpleAuthorizationInfo.addRole(role.getRoleName());      for (Permission permission:role.getPermissions()) {        //添加權限        simpleAuthorizationInfo.addStringPermission(permission.getPermission());      }    }    return simpleAuthorizationInfo;*/    return null;  }  //認證  @Override  protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {    //加這一步的目的是在Post請求的時候會先進認證,然后在到請求    if (authenticationToken.getPrincipal() == null) {      return null;    }    //獲取用戶信息    String name = authenticationToken.getPrincipal().toString();     SystemAdmin admin = adminService.selectOne(new EntityWrapper<SystemAdmin>().eq("username",name));    if (admin == null) {      return null;    } else {      //這里驗證authenticationToken和simpleAuthenticationInfo的信息      SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(name, admin.getPassword().toString(), getName());      return simpleAuthenticationInfo;    }  }}

3、創建ShiroConfiguration.java文件

package com.becl.config;import com.becl.shiro.PasswordMatcher;import com.becl.shiro.ShiroRealm;import org.apache.shiro.mgt.SecurityManager;import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.mgt.DefaultWebSecurityManager;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.HashMap;import java.util.Map;@Configurationpublic class ShiroConfiguration {  //將自己的驗證方式加入容器  @Bean  public ShiroRealm myShiroRealm() {    ShiroRealm myShiroRealm = new ShiroRealm();    myShiroRealm.setCredentialsMatcher(passwordMatcher());//裝配自定義的密碼驗證方式    return myShiroRealm;  }  // 配置加密方式  // 配置了一下,這貨就是驗證不過,,改成手動驗證算了,以后換加密方式也方便  @Bean  public PasswordMatcher passwordMatcher() {    return new PasswordMatcher();  }  //權限管理,配置主要是Realm的管理認證  @Bean  public SecurityManager securityManager() {    DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();    securityManager.setRealm(myShiroRealm());    return securityManager;  }  //Filter工廠,設置對應的過濾條件和跳轉條件  @Bean  public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();    shiroFilterFactoryBean.setSecurityManager(securityManager);    Map<String,String> map = new HashMap<String, String>();    //登出    map.put("/logout","logout");    //不需要認證    map.put("/logout","anon");    map.put("/login*","anon");    map.put("/shiroError","anon");    //對所有用戶認證    map.put("/**","authc");    //map.put("/**","anon");    //登錄    shiroFilterFactoryBean.setLoginUrl("/login");    //首頁    shiroFilterFactoryBean.setSuccessUrl("/index");    //錯誤頁面,認證不通過跳轉    shiroFilterFactoryBean.setUnauthorizedUrl("/shiroError");    shiroFilterFactoryBean.setFilterChainDefinitionMap(map);    return shiroFilterFactoryBean;  }  //加入注解的使用,不加入這個注解不生效  @Bean  public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {    AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();    authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);    return authorizationAttributeSourceAdvisor;  }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人久久久久| 欧美在线激情视频| 久久久久久69| 国产日韩欧美日韩大片| 国产精品精品国产| 欧美性猛交xxx| 性欧美激情精品| 亚洲色图25p| 亚洲国产精品va在看黑人| 日本成熟性欧美| 精品国产一区二区三区四区在线观看| 最近中文字幕mv在线一区二区三区四区| 亚洲欧洲成视频免费观看| 色综合久久88色综合天天看泰| 亚洲乱码国产乱码精品精天堂| 91精品久久久久久久久| 国内成人精品视频| 欧美一二三视频| 亚洲欧美国产制服动漫| 亚洲精品美女视频| 国产精品1区2区在线观看| 欧美久久精品一级黑人c片| 亚洲欧美色图片| 中文字幕欧美日韩| 91免费电影网站| 日韩视频中文字幕| 国产美女久久精品| 一区二区三区 在线观看视| 国产精选久久久久久| 亚洲美女视频网站| 81精品国产乱码久久久久久| 国产经典一区二区| 久久久久久国产免费| 国自在线精品视频| 欧美精品18videosex性欧美| 毛片精品免费在线观看| 中文字幕一区二区精品| 国产日韩专区在线| 亚洲视频一区二区三区| 精品动漫一区二区三区| 欧美日韩在线视频一区二区| 亚洲欧美日韩网| 日韩av最新在线观看| 亚洲丝袜av一区| 久久中国妇女中文字幕| 色伦专区97中文字幕| 中文字幕av日韩| 国产精品久久久久久久久久99| 欧美成年人视频网站| 亚州成人av在线| 国产主播精品在线| 久久久久久久久国产精品| 国产精品久久在线观看| 欧美精品九九久久| 色偷偷888欧美精品久久久| 在线午夜精品自拍| 中文字幕日韩欧美在线| 国产成人免费av电影| 一区二区三区视频在线| 精品国产一区二区三区在线观看| 草民午夜欧美限制a级福利片| 8090成年在线看片午夜| 久久国产精品亚洲| 欧美视频在线视频| 亚洲品质视频自拍网| 久久精品最新地址| 国产精品成人免费电影| 亚洲人a成www在线影院| 国产精品一区二区久久精品| 95av在线视频| 精品视频www| 国产在线播放91| 海角国产乱辈乱精品视频| 精品国产31久久久久久| 欧美第一页在线| 日本sm极度另类视频| 7777精品久久久久久| 91sao在线观看国产| 日本不卡视频在线播放| 精品人伦一区二区三区蜜桃网站| 欧美国产日韩中文字幕在线| 色视频www在线播放国产成人| 亚洲成色www8888| 国产亚洲美女久久| 日韩精品在线免费| 麻豆国产精品va在线观看不卡| 日韩精品中文字幕有码专区| 国产一区视频在线播放| 亚洲综合在线中文字幕| 亚洲性69xxxbbb| 色综合久久88色综合天天看泰| 久久久久久久久久久亚洲| 岛国av午夜精品| 国产成人精品最新| 欧美性色视频在线| 欧美日韩一区二区三区在线免费观看| 狠狠躁夜夜躁人人躁婷婷91| 久久精品在线视频| 91精品成人久久| 亚洲成人激情小说| 国产91精品网站| 国语自产精品视频在免费| 久久久亚洲国产天美传媒修理工| 久久久精品视频在线观看| 久久伊人精品视频| 欧美日韩国产一中文字不卡| 欧美大片在线看| 欧美日韩国产在线播放| 社区色欧美激情 | 亚洲肉体裸体xxxx137| 国产一区二中文字幕在线看| 久久国产精品影片| 亚洲精品欧美日韩专区| 性色av一区二区三区在线观看| 中文字幕亚洲情99在线| 高跟丝袜一区二区三区| 久久久久在线观看| 成人在线小视频| 国产精品18久久久久久首页狼| 国外成人在线直播| 国产免费久久av| 中文字幕一区日韩电影| 成人日韩av在线| 欧美乱大交xxxxx| 久久九九国产精品怡红院| 精品动漫一区二区| 欧美二区在线播放| 亚洲色图色老头| 国模精品一区二区三区色天香| 在线观看欧美视频| 亚洲福利视频免费观看| 久久久久一本一区二区青青蜜月| 国产91精品不卡视频| 色综合男人天堂| 欧美日韩亚洲精品一区二区三区| 欧美壮男野外gaytube| 精品视频在线观看日韩| 黑人巨大精品欧美一区二区三区| 国产视频精品va久久久久久| 亚洲视频在线视频| 欧美日韩国产一区在线| 久久久www成人免费精品张筱雨| 亚洲高清av在线| 精品magnet| 成人免费观看a| 亚洲欧美精品一区二区| 国产午夜精品美女视频明星a级| 欧美性理论片在线观看片免费| 欧美美女18p| 在线视频日本亚洲性| 亚洲老板91色精品久久| 欧美一级淫片videoshd| 在线播放精品一区二区三区| 精品自拍视频在线观看| 久久精品91久久久久久再现| 在线电影av不卡网址| 亚洲精品中文字| 亚洲精品国产免费| 久久久噜久噜久久综合| 4388成人网| 精品国产一区二区三区久久狼黑人| 日韩精品在线观看网站| 久久夜色精品国产亚洲aⅴ| 国产精品96久久久久久又黄又硬|