真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springboot集成shiro的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下spring boot集成shiro的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在饒陽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、做網(wǎng)站 網(wǎng)站設(shè)計制作定制網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,饒陽網(wǎng)站建設(shè)費用合理。

spring boot提供了一個自帶的認(rèn)證框架,同時也提供自定義的javaconfig配置擴(kuò)展,spring-sercurity同樣也是優(yōu)秀的框架,但是習(xí)慣了用apache shiro框架,而且原項目就是集成的shiro框架,到網(wǎng)上找了一下配置方式,沒找到完全配置的方法,因此決定自己動手,豐衣足食!

        要在spring boot上集成其他框架,首先要會spring javaconfig方法,利用此方法同樣可以配置其他模塊。

        開始前需要導(dǎo)入maven依賴(shiro-web可選):       

   
  org.apache.shiro 
  shiro-core 
  ${shiro.version} 
 
 
  org.apache.shiro 
  shiro-web 
  ${shiro.version} 
 
 
  org.apache.shiro 
  shiro-spring 
  ${shiro.version} 
 
 
  org.apache.shiro 
  shiro-ehcache 
  ${shiro.version} 

        原shiro集成spring的配置拿出來,如下:

 
 
Shiro安全配置 來源于: http://shiro.apache.org/spring.html 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
/sa/** = authc 
/** = anon 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

好多類啊,沒辦法一個一個配置,javaconfig文件如下:

import java.util.LinkedHashMap; 
import java.util.Map; 
import org.apache.shiro.cache.ehcache.EhCacheManager; 
import org.apache.shiro.spring.LifecycleBeanPostProcessor; 
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.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
@Configuration 
public class ShiroConfiguration { 
  private static Map filterChainDefinitionMap = new LinkedHashMap(); 
  @Bean(name = "ShiroRealmImpl") 
  public ShiroRealmImpl getShiroRealm() { 
    return new ShiroRealmImpl(); 
  } 
  @Bean(name = "shiroEhcacheManager") 
  public EhCacheManager getEhCacheManager() { 
    EhCacheManager em = new EhCacheManager(); 
    em.setCacheManagerConfigFile("classpath:ehcache-shiro.xml"); 
    return em; 
  } 
  @Bean(name = "lifecycleBeanPostProcessor") 
  public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() { 
    return new LifecycleBeanPostProcessor(); 
  } 
  @Bean 
  public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() { 
    DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator(); 
    daap.setProxyTargetClass(true); 
    return daap; 
  } 
  @Bean(name = "securityManager") 
  public DefaultWebSecurityManager getDefaultWebSecurityManager() { 
    DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager(); 
    dwsm.setRealm(getShiroRealm()); 
    dwsm.setCacheManager(getEhCacheManager()); 
    return dwsm; 
  } 
  @Bean 
  public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor() { 
    AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor(); 
    aasa.setSecurityManager(getDefaultWebSecurityManager()); 
    return new AuthorizationAttributeSourceAdvisor(); 
  } 
  @Bean(name = "shiroFilter") 
  public ShiroFilterFactoryBean getShiroFilterFactoryBean() { 
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); 
    shiroFilterFactoryBean 
        .setSecurityManager(getDefaultWebSecurityManager()); 
    shiroFilterFactoryBean.setLoginUrl("/login"); 
    shiroFilterFactoryBean.setSuccessUrl("/sa/index"); 
    filterChainDefinitionMap.put("/sa/**", "authc"); 
    filterChainDefinitionMap.put("/**", "anon"); 
    shiroFilterFactoryBean 
        .setFilterChainDefinitionMap(filterChainDefinitionMap); 
    return shiroFilterFactoryBean; 
  } 
}

注意點:最后一個是filterChainDefinitionMap的初始化,Map用的是LinkedHashMap來初始化的,各位應(yīng)用的時候?qū)⑵渑渲贸蓀roperties文件,然后初始化就ok了,改寫好后直接啟動Ok,搬運到spring boot應(yīng)該是OK的。

別忘了在ehcache-shiro.xml

 
   

以上是“spring boot集成shiro的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁題目:springboot集成shiro的示例分析-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/jccgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部