Spring Security為基于J2EE企業應用軟件提供了全面安全服務。 特別是使用領先的J2EE解決方案-spring框架開發的企業軟件項目。 如果你沒有使用Spring開發企業軟件,我們熱情的推薦你仔細研究一下。 熟悉Spring-尤其是依賴注入原理-將幫助你更快的掌握Spring Security。<br> 人們使用Spring Security有很多種原因, 不過通常吸引他們的是在J2EE Servlet規范或EJB規范中找不到典型企業應用場景的解決方案。 提到這些規范,特別要指出的是它們不能在WAR或EAR級別進行移植。這樣,如果你更換服務器環境, 就要,在新的目標環境進行大量的工作,對你的應用系統進行重新配置安全。 使用Spring Security解決了這些問題,也為你提供了很多有用的,可定制的其他安全特性。
一、簡介如果你正想學習權限方面的知識,或者正打算把Shiro作為權限組件集成到自己的webapplication中,或許正在為Shiro如何實現CAPTCHA(驗證碼)功能而傷透腦筋。那么,本文正是為你準備的。本文簡單介紹權限方面的基礎知識并以實際例子,帶你進入Shiro的世界。
簡介Apache Shiro是Java的一個安全框架。目前,使用ApacheShiro的人越來越多,因為它相當簡單,對比SpringSecurity,可能沒有SpringSecurity做的功能強大,但是在實際工作時可能并不需要那么復雜的東西,所以使用小而簡單的Shiro就足夠了。對于它倆到底哪個好,這個不必糾結,能更簡單的解決項目問題就好了。本教程只介紹基本的Shiro使用,不會過多分析源碼等,重在使用。?Shiro可以非常容易的開發出足夠好的應用,其不僅可以用在JavaSE環境,也可以用在JavaEE環境。
Openssl背景 1995年加拿大人Eric A. Young和 Tim J. Hudson開始編寫SSLeay庫。1998年openssl項目組成立并接管openssl的開發工作。目前一直由全世界范圍內團體的志愿者管理著。他們使用因特網進行交流、策劃和開發這個OpenSSL工具和相關的文檔。 SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信標準,分為2.0版和3.0版。TLS(Transport Layer Security)是IETF的TLS 工作組在SSL3.0基礎之上提出的安全通信標準,最新版本是RFC 5246,版本1.2。SSL/TLS提供的安全機制可以保證應用層數據在互聯網絡傳輸不 被監聽、偽造和竄改。
即使是在開源泛濫的Java領域,統一權限管理框架依然是稀缺的,這也是為什么Spring Security(Acegi)已出現就受到熱捧的原因,據俺們所知,直到現在也只看到apache社區的jsecurity在做同樣的事情。(據小道消息,jsecurity還很稚嫩。) Spring Security(Acegi)支持一大堆的權限功能,然后它又和Spring這個當今超流行的框架整合的很緊密,所以我們選擇它。實際上自從Acegi時代它就很有名了。
SpringSecurity3.x出來一段時間了,跟Acegi是大不同了,與2.x的版本也有一些小小的區別,網上有一些文檔,也有人翻譯SpringSecurity3.x的guide,但通過閱讀guide,無法馬上就能很容易的實現一個完整的實例。我花了點兒時間,根據以前的實戰經驗,整理了一份完整的入門教程,供需要的朋友們參考。1,建一個webproject,并導入所有需要的lib,這步就不多講了。
PKI是建立在公鑰加密技術之上的,那么要了解PKI則首先要看一下公鑰加密技術。加密是保護數據的科學方法。加密算法在數學上結合了輸入的文本數據和一個加密密鑰,產生加密的數據(密文)。通過一個好的加密算法,通過密文進行反向加密過程,產生原文就不是那么容易了,需要一個解密密鑰來執行相應的轉換。密碼技術按照加解密所使用的密鑰相同與否,分為對稱密碼學和非對稱密碼學,前者加解密所使用的密鑰是相同的,而后者加解密所使用的密鑰是不相同的,即一個秘密的加密密鑰(簽字密鑰)和一個公開的解密密鑰(驗證密鑰)。在傳統密碼體制中,用于加密的密鑰和用于解密的密鑰完全相同,通過這兩個密鑰來共享信息。
DES( Data Encryption Standard)算法,于1977年得到美國政府的正式許可,是一種用56位密鑰來加密64位數據的方法。雖然56位密鑰的DES算法已經風光不在,而且常有用Des加密的明文被破譯的報道,但是了解一下昔日美國的標準加密算法總是有益的,而且目前DES算法得到了廣泛的應用,在某些場合,她仍然發揮著余熱。
Shiro集群配置。Shiro是什么Shiro是一個強大而靈活的開源安全框架,能夠非常清晰的處理認證、授權、管理會話以及密碼加密。如下是它所具有的特點:易于理解的JavaSecurityAPI;簡單的身份認證(登錄),支持多種數據源(LDAP,JDBC,Kerberos,ActiveDirectory等);對角色的簡單的簽權(訪問控制),支持細粒度的簽權;支持一級緩存,以提升應用程序的性能;內置的基于POJO企業會話管理,適用于Web以及非Web的環境;異構客戶端會話訪問;非常簡單的加密API;
主要是面向開展電子商務業務的企業提供電子商務基礎支撐與應用支撐的服務,不直接從事具體的電子商務活動。第三方支付平臺獨立于銀行、網站以及商家來做職能清晰的支付: 第三方支付平臺作為中介方,可以促成商家和銀行的合作。 第三方支付服務系統有助于打破銀行卡壁壘。 第三方支付平臺能夠提供增值服務,幫助商家網站解決實時交易查詢和交易系 統分析,提供方便及時的退款和止付服務。 第三方支付機構可以劃入非銀行類金融機構的范疇
5.4數字證書與認證過程數字證書認證過程數字證書在安全電子商務交易中的應用數字證書的功能:一種網上驗證身份的方式由權威機構ca發行身份證數字證書的定義:ca發行,包括公鑰和個人信息,用來驗證身份的文件。包含用戶名,公鑰,授權中心的簽名數字證書的原理:公鑰體制證書的格式:x.509證書的類型:個人的,企業的,專門的。
通過實驗實例了解RSA算法數字簽名。實驗設計與實現:1、RSA數字簽名體制:RSA算法中數字簽名技術實際上是通過一個Hash函數來實現的。數字簽名的特點是它代表了文件的特征,文件如果發生改變,數字簽名的值也將發生變化。不同的文件將得到不同的數字簽名。一個最簡單的Hash函數是把文件的二進制碼相累加,取最后的若干位。Hash函數對發送數據的雙方都是公開的。
Web應用安全測試介紹
前一篇文章里介紹了Spring Security的一些基礎知識,相信你對Spring Security的工作流程已經有了一定的了解,如果你同時在讀源代碼,那你應該可以認識的更深刻。在這篇文章里,我們將對SpringSecurity進行一些自定義的擴展,比如自定義實現UserDetailsService,保護業務方法以及如何對用戶權限等信息進行動態的配置管理。
Spring Security3的使用方法有4種: 一種是全部利用配置文件,將用戶、權限、資源(url)硬編碼在xml文件中。 二種是用戶和權限用數據庫存儲,而資源(url)和權限的對應采用硬編碼配置。 三種是細分角色和權限,并將用戶、角色、權限和資源均采用數據庫存儲,并且自定義過濾器,代替原有的FilterSecurityInterceptor過濾器,并分別實現AccessDecisionManager、InvocationSecurityMetadataSourceService和UserDetailsService,并在配置文件中進行相應配置。
SpringSecurity3.x出來一段時間了,跟Acegi是大不同了,與2.x的版本也有一些小小的區別,網上有一些文檔,也有人翻譯SpringSecurity3.x的guide,但通過閱讀guide,無法馬上就能很容易的實現一個完整的實例。我花了點兒時間,根據以前的實戰經驗,整理了一份完整的入門教程,供需要的朋友們參考。1,建一個webproject,并導入所有需要的lib.
安全性是所有可以用來對資源進行保護和驗證的機制。有很多種安全模型都可以用來對數據提供保護。這些安全模型可以使用加密、訪問控制或其他安全方法。授權(Authorization),或稱為訪問控制,可以使用不同的安全服務來對資源進行保護:一種方法是Java認證和授權服務(Java Authentication and Authorization Service,JAAS),另外一種方法是Windows2000的活動目錄(ActiveDirectory)。本文著重于介紹JAAS安全服務。認證和授權是兩種最基本的安全機制。認證就是簡單地對一個實體的身份進行判斷;而授權則是向實體授予對數據資源和信息訪問權限的決策過程。
Spring Security為基于J2EE企業應用軟件提供了全面安全服務。 特別是使用領先的J2EE解決方案-spring框架開發的企業軟件項目。 如果你沒有使用Spring開發企業軟件,我們熱情的推薦你仔細研究一下。 熟悉Spring-尤其是依賴注入原理-將幫助你更快的掌握Spring Security。<br> 人們使用Spring Security有很多種原因, 不過通常吸引他們的是在J2EE Servlet規范或EJB規范中找不到典型企業應用場景的解決方案。 提到這些規范,特別要指出的是它們不能在WAR或EAR級別進行移植。這樣,如果你更換服務器環境, 就要,在新的目標環境進行大量的工作,對你的應用系統進行重新配置安全。 使用Spring Security解決了這些問題,也為你提供了很多有用的,可定制的其他安全特性。<br> 你可能知道,安全包括兩個主要操作, “認證”和“驗證”(或權限控制)。 這就是Spring Security面向的兩個主要方向。“認證” 是為用戶建立一個他所聲明的主體的過程, (“主體”一般是指用戶,設備或可以在你系統中執行行動的其他系統)。 “驗證”指的一個用戶能否在你的應用中執行某個操作。 在到達授權判斷之前,身份的主體已經由身份驗證過程建立了。 這些概念是通用的,不是Spring Security特有的。
在SpringSide 3的官方文檔中,說安全框架使用的是Spring Security 2.0。乍一看,嚇了我一跳,以為Acegi這么快就被淘汰了呢。上搜索引擎一搜,發現原來Spring Security 2.0就是Acegi 2.0。懸著的心放下來了。雖然SpringSide 3中關于Acegi的配置文件看起來很不熟悉,但是讀了Acegi 2.0的官方文檔后,一切都釋然了。
前言??正文“工欲善其事,必先利其器”,第一節里我們共同熟悉一下常用的工具,后面的章節還會探討如何自己動手編寫這些工具的一些細節問題。1.1http擴展工具。(1)TamperIE。這是來自Bayden系統的瀏覽器輔助對象。它非常簡單,只有兩個選項——篡改GET和/或POST。當我們提交這樣的請求時,該工具會自動阻斷提交,我們可以查看和修改我們提交的信息。這是單單使用IE地址欄所不能完成的內容。當我們安裝完之后,會在IE的這個位置看到它。