1. 程式人生 > >shiro框架的詳細配置及使用

shiro框架的詳細配置及使用

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
default-lazy-init="true">


<description>Shiro Configuration</description>


    <!--安全管理器-->
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <property name="realm" ref="shiroDbRealm"/>
        <property name="cacheManager" ref="cacheManager"/>
       <!--  <property name="sessionManager" ref="sessionManager"/> -->
    </bean>


    <!-- 專案自定義的Realm -->
    <bean id="shiroDbRealm" class="com.huaxia.security.shiro.ShiroDbRealm"/>   //  自己寫的域


    <!-- Shiro Filter -->
    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>
        <property name="loginUrl" value="/login"/>
        <property name="successUrl" value="/index"/>
        <property name="unauthorizedUrl" value="/unauth"/>
        <property name="filterChainDefinitions">
            <value>
                /commons/** = anon
                /plugins/** = anon
                /assets/** = anon
                /css/** = anon
                /js/** = anon
                /img/** = anon
                /fonts/** = anon
                /bootstrap/** = anon
                /login = anon
                /interface/** = anon
                /** = user
                
            </value>
        </property>
    </bean>




   <!-- 使用者授權資訊Cache -->
<bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager" />


    <!-- 會話管理器 -->
<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
        <property name="globalSessionTimeout" value="#{30 * 60 * 1000}"/>
        <property name="sessionIdUrlRewritingEnabled" value="false"/>
    </bean>


    <!-- 在方法中 注入  securityManager ,進行代理控制 -->
    <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="staticMethod" value="org.apache.shiro.SecurityUtils.setSecurityManager"/>
        <property name="arguments" ref="securityManager"/>
    </bean>


    <!-- 保證實現了Shiro內部lifecycle函式的bean執行 -->
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>


    <!-- AOP式方法級許可權檢查 -->
<bean
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor">
<property name="proxyTargetClass" value="false" />
</bean>


    <!-- 啟用shrio授權註解攔截方式 -->
    <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
        <property name="securityManager" ref="securityManager"/>
    </bean>
</beans>

相關推薦

shiro框架詳細配置使用

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

java日誌框架log4j詳細配置與slf4j聯合使用教程

注: 更讓你理解facade門面模式,更讓你理解jvm的run anyway 一、log4j基本用法   首先,配置log4j的jar,maven工程配置以下依賴,非maven工程從maven倉庫下載jar新增到“build path” 1 2

Nginx負載均衡的詳細配置使用案例詳解.!

Nginx負載均衡的詳細配置及使用案例詳解. 感謝看過這一些列博文和評論的小夥伴, 我把自己所看到的學到的拿到這裡來分享是想和大家一起學習進步, 想聽聽園友給出的意見, 也是對自己學習過程的一個總結. 技術無止境, 我們仍需努力!1,話不多說, 這裡我們來說下很重要的負載均衡, 那麼什

SpringBoot 整合 Shiro框架 簡單配置

SpringBoot整合Shiro框架 pom.xml新增 <!-- shiro框架-->         <dependency>                <

Struts2驗證框架配置Validation.Xml常用的驗證規則

<field name="username"> <field-validator type="required"> <message>指定檢驗失敗的提示資訊</message> </field-validator> </field> &l

驗證框架配置validation.xml常用的驗證規則

<field name="username"> <field-validator type="required"> <message>指定檢驗失敗的提示資訊</message> </field-validator> </field> &l

mybatis-generator 詳細配置使用,爬坑記錄

mybatis-generator 詳細配置及使用,爬坑記錄 提示:如果不成功一定是專案路徑和 資料庫配置出問題,本篇基於 MySQL 8.0.13,除錯沒有問題。 如果失敗,建議使用相同的專案結構,包名,進行重試,博主也是多次除錯,才成功。一些常見問題,看報錯提示資訊是可以看懂的,加油。 整個專案的原

GeoMesa-Accumulo詳細配置例項執行

最近在搭建GeoMesa環境並執行一個Accumulo例項,在這個過程中遇到了很多問題,也感謝網上許多作者的文章,在此分享自己的學習經驗,一是為了讓初學者少走彎路,而是記錄自己的學習,因為這種東西一段時間不搞就會忘得差不多。 GeoMesa是開源的一套地理大資

struts驗證框架配置validation.xml常用的驗證規則(Struts2的輸入驗證詳解)

<field name="username"><field-validator type="required"><message>指定檢驗失敗的提示資訊</message></field-validator></field></va

ssm+shiro框架詳細配置

1、首先倒入maven的pom檔案 <dependencies> <!-- 分頁工具 --> <dependency> <groupId>com.git

使用 sitemesh/decorator裝飾器裝飾jsp頁面(原理詳細配置

sa一、SiteMesh介紹SiteMesh是一個Java WEB項目的網頁布局和修飾框架。使用SiteMesh後就不再需要在每個頁面中都用<jsp:include>標簽引入頁頭、頁尾、導航等其他公用頁面了。可以將網頁的內容和頁面結構分離,達到頁面結構共享的目的。頁面裝飾效果耦合在目標頁面中,無需

OpenStack之安裝4網卡ubuntu-14.04網絡詳細配置

安裝ubuntu14.04 網絡配置 virtualbox openstack 四個網卡:網絡1:物理機與虛擬機連接,為host-only類型,主要用來管理網絡,它的dhcp off。網絡2:Open vSwitch占用網絡,也是Host-only類型網絡3:OpenStack中有一些存儲組件

Linux上redis詳細安裝配置過程

修改 server 9.png 結束 pin 附件 service 文件 col 本次介紹下redis的安裝及詳細配置,需要註意的是本地介紹的不是通過yum方式安裝,也不推薦大家使用yum安裝,安裝完了其實啥也不知道. 1,通過rz命令將本地的tar.gz包上傳到linux

IntelliJ IDEA 下的svn配置使用的非常詳細的圖文總結

產生 而且 details 系統 jsp 有變 pom art hang 首先,使用的時候,自己得先在電腦上安裝個小烏龜。也就是svn啦。第一步安裝小烏龜。如下:具體安裝好像沒什麽具體要求,一路next,就好。如上圖箭頭所示,在安裝 TortoiseSVN 的時候,默認 c

演示PostgreSQL的詳細安裝配置圖解

運行 對話 elf 中國 com 完成 .html 找到 tex 右擊文件選擇以管理員身份運行 2 開始執行程序的安裝 3 設置安裝目錄 4 設置數據的保存目錄 5 設置數據庫管理員密碼,請牢記此密碼。

IDEA整合日誌框架Log4j2+Slf4j詳細配置過程

info 信息 mon 文件路徑 留言 nbsp time 檢測 之間 日誌框架這麽多,他們之間到底是什麽關系呢?籠統的講就是slf4j是一系列的日誌接口,而log4j2、logback是具體實現了接口功能的日誌框架。現在的主流日誌接口都使用slf4j,而日誌的實現就見仁見

CentOS 6.9配置網卡IP/網關/DNS命令詳細介紹一些常用網絡配置命令(轉)

linux. centos fly fig details oba routing href 修改dns 一、IP 即時生效(重啟後失效): ifconfig eth0 192.168.1.102 netmask 255.255.255.0 //添加IP地址 r

Oracle10g物理DG詳細配置方法步驟

scope 建數據庫 rap hive proto select oracl -s duplicate --測試環境: OS:Redhat linux(64) Primary: IP:192.168.94.198 SID:dgdb1 Hostn

Pycharm簡單配置詳細快捷鍵介紹

running 前行 set vcs ace pan VC 重構 rsquo Pycharm的配置 修改主題: File-》Setting: Appearance&Behavior->UI Options->Theme: 顯示行

Redis的詳細安裝Linux環境變量配置和啟動

jemalloc 展示 str 並且 網盤 pre 成功 pan 用戶組 前言:    Redis Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。 我使用的是下面這個版本: