原创 zookeeper爲何採用奇數節點

原文鏈接:https://blog.csdn.net/u010476994/article/details/79806041 無論是公司的生產環境,還是自己搭建的測試環境,Zooke

原创 spring-shiro.xml

<?xml version="1.0" encoding="UTF-8"?> <!--自定義Realm--> <bean id="myRealm" class="com.flt.shiro.realm.myRealm"

原创 10 會話管理

Shiro提供了完整的企業級會話管理功能,不依賴於底層容器(如web容器tomcat),不管JavaSE還是JavaEE環境都可以使用,提供了會話管理、會話事件監聽、會話存儲/持久化、容器無關的集羣、失效/過期支持、對Web的透明支持、

原创 15 單點登入

  Shiro 1.2開始提供了Jasig CAS單點登錄的支持,單點登錄主要用於多系統集成,即在多個系統中,用戶只需要到一箇中央服務器登錄一次即可訪問這些系統中的任何一個,無須多次登錄。此處我們使用Jasig CAS v4.0.0-R

原创 18 併發登入人數控制

  在某些項目中可能會遇到如每個賬戶同時只能有一個人登錄或幾個人同時登錄,如果同時有多人登錄:要麼不讓後者登錄;要麼踢出前者登錄(強制退出)。比如spring security就直接提供了相應的功能;Shiro的話沒有提供默認實現,不過

原创 16 綜合實例

  簡單的實體關係圖   簡單數據字典 用戶(sys_user) 名稱 類型 長度 描述 id bigint   編號 主鍵 username varchar 100 用戶名 pass

原创 13 rememberMe

  Shiro提供了記住我(RememberMe)的功能,比如訪問如淘寶等一些網站時,關閉了瀏覽器下次再打開時還是能記住你是誰,下次訪問時無需再登錄即可訪問,基本流程如下: 1、首先在登錄頁面選中RememberMe然後登錄成功;如果是

原创 9 JSP標籤

Shiro提供了JSTL標籤用於在JSP/GSP頁面進行權限控制,如根據登錄用戶顯示相應的頁面按鈕。     導入標籤庫 Java代碼   <%@taglib prefix="shiro" uri="http://shiro.apach

原创 23 多項目集中權限管理及分佈式會話

  在做一些企業內部項目時或一些互聯網後臺時;可能會涉及到集中權限管理,統一進行多項目的權限管理;另外也需要統一的會話管理,即實現單點身份認證和授權控制。   學習本章之前,請務必先學習《第十章 會話管理》和《第十六章 綜合實例》,本章

原创 22 集成驗證碼

  在做用戶登錄功能時,很多時候都需要驗證碼支持,驗證碼的目的是爲了防止機器人模擬真實用戶登錄而惡意訪問,如暴力破解用戶密碼/惡意評論等。目前也有一些驗證碼比較簡單,通過一些OCR工具就可以解析出來;另外還有一些驗證碼比較複雜(一般通過

原创 20 無狀態web應用集成

  在一些環境中,可能需要把Web應用做成無狀態的,即服務器端無狀態,就是說服務器端不會存儲像會話這種東西,而是每次請求時帶上相應的用戶名進行登錄。如一些REST風格的API,如果不使用OAuth2協議,就可以使用如REST+HMAC認

原创 24 在線會話管理

  有時候需要顯示當前在線人數、當前在線用戶,有時候可能需要強制某個用戶下線等;此時就需要獲取相應的在線用戶並進行一些操作。   本章基於《第十六章 綜合實例》代碼構建。    會話控制器 Java代碼   @RequiresPermi

原创 21 授予身份及切換身份

  在一些場景中,比如某個領導因爲一些原因不能進行登錄網站進行一些操作,他想把他網站上的工作委託給他的祕書,但是他不想把帳號/密碼告訴他祕書,只是想把工作委託給他;此時和我們可以使用Shiro的RunAs功能,即允許一個用戶假裝爲另一個

原创 17 OAuth2集成

  目前很多開放平臺如新浪微博開放平臺都在使用提供開放API接口供開發者使用,隨之帶來了第三方應用要到開放平臺進行授權的問題,OAuth就是幹這個的,OAuth2是OAuth協議的下一個版本,相比OAuth1,OAuth2整個授權流程更

原创 攔截器機制

  8.1 攔截器介紹 Shiro使用了與Servlet一樣的Filter接口進行擴展;所以如果對Filter不熟悉可以參考《Servlet3.1規範》http://www.iteye.com/blogs/subjects/Servle