葉志鵬,何成萬,張崢峰
武漢工程大學計算機科學與工程學院,湖北 武漢 430205
伴隨“互聯網+”時代的到來,互聯網、網站與網絡應用程序受歡迎程度日漸增高,在人們的日常生活中扮演了越來越重要的角色。Web應用程序[1]涉獵領域廣泛,如商業合同、財務通知、醫療信息、教育或個人目的。身份驗證是任何應用程序中關鍵及重要組成部分,但即使是可靠的身份驗證機制也會被錯誤的管理功能所破壞,包括密碼重置、忘記密碼、記住密碼、帳戶更新和其他相關功能。Web應用程序中失效的身份驗證和會話管理包括處理用戶認證和管理活動會話的所有特性。
模塊化編程[2]和面向方面編程是軟件工程中用于幫助應用程序設計的兩種方法[3],其中面向方面編程(Aspect Oriented Programming,AOP)[4]作為一種改進軟件系統中關注點分離問題的方法在1997年首次提出,AOP提供了特定語言機制,能夠在不改變業務邏輯的情況下,通過在編譯或運行期間向復雜軟件系統增加橫切關注點(crosscut?ting)功能,使得以模塊化方式解決諸如代碼分散與纏繞之類的問題成為可能。安全性問題通常分散于各業務邏輯模塊,是Web應用程序中重要的橫切關注點。面向方面編程語言如AspectJ,提供了新的機制和可能性,將系統分解為模塊并將模塊重新組合至系統,從而充分利用了新型軟件開發方法的優勢,使得軟件系統中安全問題得以解決。文獻[5]通過實驗驗證了運行時改變安全策略的優點。本文基于AOP實現了Web應用程序安全會話機制的應用程序接口(API),并采用AspectJ作為安全方面的實現語言用于開發原型系統以驗證實驗結果。……