多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > Apache shiro(3)―cas + shiro配置說明

Apache shiro(3)―cas + shiro配置說明

來源:程序員人生   發布時間:2015-02-06 09:08:17 閱讀次數:5465次
    這篇博客我們還是繼續講如何使用,其他的我自己還需要1些時間來消化。這次由于項目的需要,將登錄從shiro中抽出來交給cas來驗證。Shiro,只負責權限的驗證。shiro在1.2版本以后加入了對cas的支持。我們先從cas入手……

SSO的概念

    單點登錄( Single Sign-On , 簡稱 SSO )是目前比較流行的服務于企業業務整合的解決方案之1, SSO就是1次登錄,就能夠訪問多個相互信任的利用。而cas只是這類解決方案的1種實現。
    這么說吧:大家應當都去過游樂場,通常會賣通票。就是買1張票,就能夠玩游樂場中的所有項目,而不用玩1項買1項的票。這就是單點登錄最直白的理解了:“通票”。

原理:

    ok,下面就看1下,shiro+cas以后的認證進程。圖里的票據指的是,第3步用戶的驗證信息通過驗證后,cas服務器隨機生成的1個唯1的身份標識。這個票據會被存儲在閱讀器的cookie中。注:這里只是直白的說法,后面會有博客詳細這部份的進程。
    下圖,表明的是1個web利用的登錄進程,這時候候用戶訪問第2個利用時可以直接拿閱讀器中的cookie去cas認證,由于利用1已證過了。因此用戶訪問第2個利用時就不需要重新登陸了。

Spring-shiro.xml的配置:

    上面大概的說了1下,cas的驗證原理。下面就看看cas和shiro集成的配置。這個是基于前1篇博客的,如果不記得可以翻看前1篇博客。1下配置都已本地為例:
    首先,引入Jar包。shiro-cas⑴.2.3.jar、cas-client-core⑶.2.0.jar

    然后,在Spring - shiro.xml修改以下配置:

  • 第1:shiroSecurityFilter修改成: 

<property name="loginUrl" value="http://localhost:18080/cas/login?service=http://localhost:8080/authority-web/shiro-cas"> </property> <property name="successUrl" value="http://localhost:8080/authorityn-web/index.jsp"></property> <property name="filters"> <map> <!--添加cas的過濾器到shiro --> <entry key="casFilter"> <bean class="org.apache.shiro.cas.CasFilter"> <!--配置驗證毛病時的失敗頁面 /main 為系統登錄頁面 --> <property name="failureUrl" value="/message.jsp" /> </bean> </entry> </map> </property> <!-- 過濾器鏈,要求url對應的過濾器 --> <property name="filterChainDefinitions"> <value> /message.jsp=anon /logout=logout <!--shiro登出過濾器,清算shiro存儲的緩存,用戶信息等 --> /shiro-cas=casFilter <!--cas的過濾器的攔截規則 --> <!--驗證所有要求,如果shiro中不存在用戶信息,則返回到loginUrl的登錄頁面 --> /** =user </value> </property>
  • 第2:shiroRealm的配置中添加兩個屬性,分別為cas服務器的登錄地址和cas客戶真個入口即會被攔截的地址:
<property name="casServerUrlPrefix" value="http://localhost:18080/cas"></property> <property name="casService" value="http://localhost:8080/authorityn-web/shiro-cas"></property>
  • 第3:在securityManager的配置中加入屬性:
<property name="subjectFactory" ref="casSubjectFactory"></property>
  • 第4:加入casSubjectFactory Bean的配置     
<bean id="casSubjectFactory" class="org.apache.shiro.cas.CasSubjectFactory" />

    接著:Web.xml的配置,加入多點登出的配置,這里主要是從cas服務器上清除用戶的登錄信息:
<listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener> <filter> <filter-name>singleSignOutFilter</filter-name> <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter> <filter-mapping> <filter-name>singleSignOutFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

    需要注意的是,這樣單點退出Shiro中的用戶信息是不會清除的,也就是說就算你點擊退出了。各個利用還是能夠正常訪問。這里首先需要在web.xml中配置項目的默許訪問地址和shiroSecurityFilter中的successUrl。否則可能會致使從退出到登錄頁面重新登錄找不到頁面的問題。那末退出的要求地址應當為:cas服務器注銷地址+web利用退出地址作為參數。
http://localhst:18080/cas/logout?service=http://localhost:8080/itoo-authority-application-web/logout
    總結:cas和shiro的集成是將shiro的只能面對單個利用的登錄抽離出來,交給cas去驗證。前面,說過cas的驗證實際上是1個“通票”的概念。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 4日本私人vps生活大片 | 中文字幕最新在线 | 日韩大片在线观看 | 中文字幕在线视频网站 | 久久 在线播放 | 免费一级毛片在级播放 | 国产欧美亚洲精品a | 午夜免费视频观看在线播放 | 精品国产综合成人亚洲区 | jizz中国妇女 | 24小时免费观看www日本 | 香蕉狠狠再啪线视频 | 欧美自拍偷拍 | 久久国产精品久久久久久久久久 | 亚洲九色 | 亚洲国产精品欧美综合 | 国产亚洲欧美久久久久 | 美国免费高清一级毛片 | 一机毛片 | 国产激情一区二区三区在线观看 | 中国精品久久 | 麻豆片免费观看在线看 | 91亚洲精品久久91综合 | 日本午夜理伦三级在线观看 | 久久久久亚洲精品一区二区三区 | 国产国产成人人免费影院 | 亚洲一区二区三区精品影院 | 国产精品高清一区二区三区 | 淫欧美| 欧美日韩亚洲区久久综合 | 国产不卡在线视频 | 精品72久久久久久久中文字幕 | 羞羞动漫免费看网站 | 91免费福利视频 | 日本8888xxxx免费视频 | 一本视频在线 | 精品国产亚洲一区二区在线3d | 在线亚洲欧洲福利视频 | 一区二区三区免费视频播放器 | 一级国产| 欧美亚洲激情视频 |