蔣叢萃++史卓
摘要:電子商務系統平臺構建中,安全性是系統應用開發的靈魂,是產品生命各個周期各個階段的關鍵指標,同時也是整個電子商務運用的重要節點。該文介紹了spring security的認證和權限控制,將spring security訪問控制機制應用于電子商務中,從而給電子商務系統平臺安全設計提供了強大的支持。
關鍵詞 : Spring security;電商;訪問控制
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)14-0247-02
當今社會電子商務已經取得了飛速發展,這在很大程度上得益于計算機技術的發展。電子商務是基于信息網絡平臺按一定標準所進行的各類商務活動的總稱。這種網絡電商操作相比實體經營店,不僅降低了營業成本,更極大地方便了消費者直接通過互聯網購買需要的商品,提高了交易效率。而在電子商務中,客戶及商家最關注的問題莫過于安全性問題。如何設計安全可靠的電子商務交易平臺,成為了電商系統構建需要解決的問題。本文闡述spring security安全構架在電商系統平臺設計中的應用。
1 Springsecurity安全構架簡介
1.1 Springsecurity安全構架概要
Spring是基于Java語言而開發出的一站式Web框架。Spring框架包含以下子框架:SpringMVC,Spring, SpringSecurity, SpringAOP 等。在數據庫訪問層,Spring可以整合Hibernate、iBatis等第三方框架,通過整合構成一個完整的Web程序框架。
在電子商務實踐中,應用設計需要有一定的開源架構作支撐,實現數據庫運行的最終目的。這個開源架構即Spring。現存系統架構大多是單層體系架構,Spring程序框架可以將其整合為一個有機結合的統一整體,使得架構中各個層面能相互協調運作,而且各層面間不相互沖突,把程序架構的能動性最大限度地發揮出來。Spring使用了AOP(面向方面編程)技術來實現安全控制。 Spring框架中,Spring Security子系統負責整個框架的安全。Spring Security實現安全控制的方法就是基于Spring AOP。
認證和權限控制是Spring Security要處理的兩個主要領域。首先需要實現系統安全邏輯和業務邏輯在設計層面上的分離,要實現這個目標需要采用Spring Security提供的項目安全認證服務。在安全控制層面,現行的絕大部分身份認證模式都可以被Spring Security所識別,其根本原因在于這些身份認證模式采用的是第三方廠商運作,整個研究機構是采用統一標準,缺乏自身的特色和特點,不利用整個系統本身的運作安全。而Spring Security恰恰解決了這樣一個難題,其支持的認證機制有以下幾種形式:
同時,Spring Security也提供了一組深入的權限控制服務。該權限控制服務主要面向三個領域: Web 請求的權限控制,方法調用的權限控制和單個對象實例訪問的權限控制。
1.2 Springsecurity安全構架構成
從整個框架運行看,Spring Security的安全框架包含了安全攔截器和安全控制管理組件。具體來說,安全控制管理組件又由認證管理器,訪問決策管理器、運行身份管理器、調用后管理器四大部分組成。這一組成有著自己獨特的運行方式和特點。Spring Security安全框架組成元素如下圖所示:
訪問系統中受保護資源的所有請求,都需要通過安全欄截器的攔截判斷。因此,安全欄截器被視為Spring Security框架中資源訪問必經的“大門”。 辨別用戶身份的功能則由認證管理器提供,一般采取用戶憑證辨別(即戶名和密碼)的方法來實現此功能。用戶審核后的身份憑證需要與目標資源的配置屬性進行比較,這一步通過訪問決策管理器來實現。經過比較,如果用戶有權訪問目標資源,則執行授權。當目標資源的訪問權限發生變化時,則需要通過運行身份管理器來確認當前用戶的權限是否與之相適應。用戶是否有權查看目標資源的返回結果則依靠調用后管理器來實現。
2 Springsecurity安全構架在電子商務平臺系統中的設計
在電子商務交易中,業務安全性是至關重要的,而業務安全性的保障就是系統平臺的安全架構,一個優秀的安全架構能有效保障業務交易的平穩安全,對商家和客戶來說都是必不可少的。可以說,任何電子商務業務都離不開安全機制的保障,當今電子商務發展迅速,系統的參與者和范圍都逐步擴大,相應的業務流程也變得復雜,平臺對安全性的要求也越來越高。
在當前電子商務應用的安全性方面,以下幾個問題是普遍存在的:
1)業務邏輯和安全邏輯沒有做到設計和操作上的相對獨立,目前二者還是耦合的。造成這一現象的原因主要是目前的電子商務應用系統還在采用面向對象的開發方式。
2)目前大部分電子商務系統在業務方法的保護方面有所欠缺,在操作上僅僅簡單控制了對Web資源的基本訪問權限。
3)傳統訪問控制技術的應用給企業應用系統帶來維護上的不便。
通過Spring Security技術,這使得AOP方法得到了進一步運用,系統身份和安全性能得到了很大提高,將安全系能和業務功能進行耦合,實現安全邏輯的提高,同時也使得業務邏輯進一步得到梳理。安全邏輯與業務邏輯是相對獨立的一個系統,要保證兩者之間目的的獨立性,同時又要保證兩者之間的平臺運用的兼容性,使系統功能的可擴展性也得到了有效保障。
將Spring Security安全機制應用于電子商務平臺中,其根本目的是為了保證應用系統的安全性,使得信息的管理更加科學,信息資源的保密程度更加固化。最大限度地保證系統信息資源的完整,同時也讓系統安全管理有一定的靈活性和較好的通用易用性。系統的總體構架如下圖所示:
Spring Security程序框架的設計包括以下幾個部分:
2.1 系統權限設計
電子商務系統平臺的基礎就是權限設計。本文介紹的權限設計方法是基于角色的訪問控制技術,具體過程如下:首先,將商家用戶信息存儲到系統用戶表(sys—user)中,將角色信息存儲到角色信息表(sys—group)中,將權限信息存儲到權限信息表(sys junction)中。多個角色可能會共同擁有權限信息表中的目標資源,對于這種情況,需要建立角色/權限表(sys_group—fimction)對角色信息和權限信息進行唯一性定義。在具體操作過程中,將目標資源的url訪問路徑、業務方法等受保護的資源存儲到權限控制碼中。數據庫的E-R關系圖如上所示。
2.2 身份認證模塊設計
系統的安全防護要經過的第一道關卡就是身份認證模塊,該模塊會對用戶身份進行判斷,只有符合規定的用戶才能通過。身份認證模塊統一欄截用戶提交的業務訪問請求,并對不同認證方式下的身份認證請求加以處理。用戶可以采取不同的認證手段,身份認證模塊,從實際情況出發,選取特定的認證提供者,在現用戶身份上進行識別,這樣的系統能夠實現各種表單的認證,也可以實現證書的認證。如DAOAUTHENTICATIONPROVIDER可以實現普通的基于表單的認證、X509AUTHENTICATIONPROVIDER 可以實現基于 X.509 證書的認證。
統身份認證模塊的時序圖如下:
2.3 授權訪問模塊的設計
授權訪問模塊是在身份認證的基礎上,建立起來的。系統首先要對用戶身份的合法性進行判斷,在此基礎上再判讀用戶是否有權訪問受保護資源。在授權訪問中,Spring Security可以對其進行授權,根據訪問請求,通過安全攔截器進行攔截,這種資源的訪問攔截形式,可以實現業務邏輯與安全邏輯的一個耦合。通過兩者之間的聯系,進行平臺過濾器,對其進行授權控制,使切面應用到各資源或者業務方法上,將相關的授權請求進行接收,從而根據權限進行判斷,作出授權操作,實現這一安全機制的根本目標。
3 結束語
目前基于Spring Security技術的電商系統平臺設計已經體現出一定的優越性,在商家及客戶信息保護、安全交易方面都具有良好的操作性和實用性。通過其強大的認證和權限控制功能,為商家和客戶的互聯網交易提供了一個安全、便捷的環境。
參考文獻:
[1] 丁振凡. 基于Spring Security的Web資源訪問控制 [J]. 宜春學院學報, 2012(8).
[2] 肖云. 基于Spring Security安全的Web應用開發[J]. 計算機與現代化, 2011(6).
[3] 李瓊. 基于Spring Security的企業級應用安全構架的研究與實現[M]. 北京交通大學, 2012(7).