三層架構用戶服務系統的設計與實現
基於三層架構的用戶服務系統的設計實現了用戶的集中管理和授權,為不同信息平臺提供了驗證授權及信息管理的接口,進壹步理順了組織機構的層層關系,方便用戶使用。具體如何實現的呢,壹起來看看下面的文章!
1、三層體系架構簡介
隨著信息技術的不斷發展,三層架構(C/S或B/S)現已經成為主流技術。三層結構模式是目前流行的協同開發模型,這種模式將應用開發中的部件劃分為三層:表示層、業務邏輯層、數據訪問層。它的優點是聯機的用戶數比較多,每次交易的時間都比較短,伸縮性和容錯性強。同時支持客戶端應用程序的開發和分布,能通過客戶端計算機與應用程序邏輯分開。三層模式都在其安全環境中進行。軟件的開發工作和維護工作可相對獨立進行。
2、用戶服務系統的架構
用戶服務系統的設計思想是建立壹個相對獨立於各個應用系統,能夠統壹管理用戶帳戶信息和組織機構,方便用戶使用和管理的接口系統,解決原有信息系統中,不同應用平臺中同壹用戶有多個的用戶賬戶的問題。
本系統定位針對於各級部門,面向各級部門所有人員,提供統壹、完善的、易用的用戶認證和組織機構管理平臺,對用戶的身份認證和組織機構進行統壹管理和維護。
2.1 需求分析
2.1.1 統壹認證的需求分析
統壹認證的前提是不同應用系統平臺所有用戶信息的數據都存儲在數據庫中。應用ASP.NET技術將統壹認證封閉為WEB服務,方便不同應用系統的調用,達到統壹認證、管理、授權的目的。因此要求該部分功能支持單點登錄,即所有應用系統在用戶登錄時能統壹用戶名和口令。同時能夠設置用戶權限,避免對原有應用平臺進行規模較大的修改。由於用戶服務系統要和其他應用系統集成才能為其提供服務,不同的應用系統可能會使用不同的數據庫,或運行在不同的操作系統平臺上,因此,要求具備良好的平臺兼容性,屏蔽差異。在安全性方面,要杜絕漏洞和各種隱患,使信息的傳遞在安全保障範圍內。
2.2.2 組織結構管理的需求分析
組織結構管理系統的體系模塊劃分需求如下:
(1)組織機構及機構間關系的建立、修改、刪除等;如創建壹個用戶,將用戶分配到某個部門、將用戶賦予某個角色等。(2)組織機構(集)的檢索:如獲取某部門的所有用戶、得到某用戶的部門列表、獲取某部門的.上級部門等。(3)各類機構提供方便獲取關聯對象的屬性。如dept.Users可獲取該部門的直屬用戶、org.Depts可獲取該單位的直屬部門。(4)機構(集)的排序功能。組織機構服務提供接口方法用以對各類實體排定次序。如部門在單位內的排序、用戶在部門內的排序等。
2.2 功能設計
用戶服務系統由兩部分組成:統壹認證和組織結構管理。
統壹認證:負責提供用戶身份認證服務。主要包括用戶註冊、帳號關聯和用戶認證。用戶註冊是指用戶在統壹身份認證服務中註冊帳號,包括新用戶註冊和用戶修改註冊信息兩部分。組織結構管理:管理信息平臺所有用戶的信息,為管理員提供操作界面管理用戶、賬號、角色、單位、部門等信息。主要由3部分組成:(1)數據庫:用戶信息與用戶賬號信息分開處理,分別在數據庫的不同表中,這樣操作對系統擴充性更為有利。(2)管理模塊:主要包括組織結構及單位管理、部門管理、用戶管理、賬號管理、角色管理等。(3)管理端:為管理操作提供可視化管理界面。
3、系統關鍵技術的實現
3.1 用戶密碼進行MD5加密
MD5是壹種單向加密的加密算法,經常用於系統用戶登錄認證方面。本系統中,新用戶註冊帳號時,若將密碼直接保存到數據庫中,萬壹信息遭遇泄露,不能保證數據的安全。因此,在密碼數據存儲時,對其進行MD5加密操作後再保存,這樣,即使密碼信息暴露,也不會泄露真正的含義。用戶登錄時,也將用戶的密碼數據進行加密後再和數據庫中數據進行比較,即可達到驗證身份目的。
.NET中System.Security.Cryptography命名空間包含的MD5CryptoServiceProvider類,提供專門用於MD5單向數據加密的方法。使用時只需在程序中實例化MD5CryptoServiceProvider類,調用MD5加密解密函數,並以明文作為參數就可以實現加密功能。具體語法如下:
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtPwd.Text.Trim(),?MD5?).ToString();
3.2 Remoting遠程調用
在系統開發的後期,為了達到跨平臺、跨地域的目的,我們采用了Remoting技術來實現。.NET Remoting就是傳統DCOM的替代,主要實現進程間的通信,以壹種對象通過應用程序域與另壹對象進行交互為框架,實現協同工作。這也正是我們使用Remoting的原因。
;