亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Windows應(yīng)用單點登錄系統(tǒng)設(shè)計與實現(xiàn)

        2014-07-21 07:39:48林為偉
        赤峰學院學報·自然科學版 2014年6期
        關(guān)鍵詞:用戶系統(tǒng)

        林為偉

        (福建師范大學福清分校,福建 福清 350300)

        Windows應(yīng)用單點登錄系統(tǒng)設(shè)計與實現(xiàn)

        林為偉

        (福建師范大學福清分校,福建 福清 350300)

        本文涉及的SSO系統(tǒng)克服了傳統(tǒng)SSO系統(tǒng)的缺點,對應(yīng)用系統(tǒng)登陸過程進行了分離解析,采集提取了W indows應(yīng)用程序的界面中應(yīng)該有共性信息,即用戶登錄的時候?qū)⒂脩舻挠脩裘⒚艽a信息和不同的窗體的句柄的坐標位置信息,并選擇調(diào)用相應(yīng)的系統(tǒng)API函數(shù),形成一個W indows消息隊列來記錄下用戶登錄的過程,實現(xiàn)了W indows應(yīng)用系統(tǒng)的單點自動登錄,實際使用效果良好.

        SSO;模擬自動登錄;W indows消息機制;w indows窗體結(jié)構(gòu)

        進入新世紀以來,人類獲得了快速的發(fā)展.在追求辦事效率的情況下,人們對信息化的建設(shè)也是越來越加重視.經(jīng)過多年的發(fā)展與國家對信息化建設(shè)的重視以及投入之下,現(xiàn)在信息化建設(shè)更加趨于完善.信息化對大家來說并不是一個陌生的詞語,它存在于人們應(yīng)用的各種系統(tǒng)之中,其中就包括:辦公系統(tǒng)、財務(wù)系統(tǒng)、人事管理系統(tǒng)、圖書管理系統(tǒng)等等.當然,任何事物都有兩面性.一個好的應(yīng)用系統(tǒng)可能會對人們帶來很大的便利,可是,應(yīng)用系統(tǒng)多了以后用戶需要記憶的用戶名以及密碼也是越來越多,這也就造成了不便,用戶也會感覺很繁瑣.如果在登錄系統(tǒng)的時候用戶名或者密碼記憶出錯的話很容易讓用戶反感.同時,用戶名與密碼的安全也是很重要的,不同的應(yīng)用系統(tǒng)安全性可能不同,導(dǎo)致一些安全性較差的應(yīng)用系統(tǒng)泄漏用戶的個人信息.本文就是要尋找一種解決方案,盡可能讓用戶一次性登錄,沒有那么多的用戶名以及密碼.于是,我們應(yīng)用到了SSO[1](Single Sign On,單點登錄)技術(shù),一次登錄就可以訪問多個系統(tǒng)而不要重復(fù)性登錄.這樣不僅讓用戶的個人信息安全了也讓用戶不再感覺那么繁瑣,大大提供了現(xiàn)代企事業(yè)的信息化水平.

        1 傳統(tǒng)SSO方案的實現(xiàn)機制與局限性

        SSO技術(shù)在現(xiàn)代企業(yè)應(yīng)用系統(tǒng)之中是比較流行的,它主要通過一次登錄實現(xiàn)訪問所有的可信任的應(yīng)用系統(tǒng).SSO技術(shù)可以將本次登錄的信息映射到其它應(yīng)用系統(tǒng)之中,從而實現(xiàn)免登錄的效果.然而,SSO技術(shù)實現(xiàn)的前提就是不同的應(yīng)用系統(tǒng)之間要有一個共同的認證系統(tǒng),這樣才能保證單點登錄的效果.

        實現(xiàn)傳統(tǒng)SSO技術(shù)來完成的一個典型代表就是使用Kerberos協(xié)議[2],Kerberos協(xié)議(一種網(wǎng)絡(luò)認證協(xié)議)采用票據(jù)來訪問目標系統(tǒng),它采用C/S結(jié)構(gòu),能夠?qū)崿F(xiàn)相互認證,同時在目前的企事業(yè)應(yīng)用系統(tǒng)當中這種技術(shù)也是比較流行的.隨著信息化技術(shù)的快速發(fā)展與整合,很多企業(yè)也在應(yīng)用統(tǒng)一的SSO技術(shù),如IBM的WebSphere和Microsoft的. NET Passport[3].

        傳統(tǒng)的SSO方案會有一些局限性,舉個例子來說:傳統(tǒng)的SSO解決方案只能支持WEB應(yīng)用系統(tǒng),而對如今大家應(yīng)用比較廣泛的Windows應(yīng)用系統(tǒng)來說并不支持,這樣的話導(dǎo)致用戶在應(yīng)用SSO系統(tǒng)是必須應(yīng)用傳統(tǒng)的SSO方案所提供的API或者Agent才行,這樣就造成了很大的局限性.

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)設(shè)計思想

        既然傳統(tǒng)的SSO技術(shù)有局限性以及缺點,那么我們在設(shè)計新的系統(tǒng)的時候就需要考慮到這點,克服其缺點.新的SSO系統(tǒng)的設(shè)計思想就是:首先,要克服最大的局限性及應(yīng)用系統(tǒng)支持的單一性.因此,新的業(yè)務(wù)系統(tǒng)不僅支持Web應(yīng)用系統(tǒng)而且還要支持Windows應(yīng)用系統(tǒng),這樣的SSO系統(tǒng)才能被廣大用戶所接受.其次,將傳統(tǒng)意義上的單點登錄技術(shù)發(fā)展為自動登錄技術(shù).這樣的話用戶也就不用記憶自己的用戶名和密碼,點擊自動登錄即可.整個登錄對用戶透明[4].

        新的SSO系統(tǒng)支持Windows應(yīng)用系統(tǒng),因此開發(fā)人員在部署的過程中不需要對原有的應(yīng)用系統(tǒng)進行更改,提高了開發(fā)人員的部署速度.全新設(shè)計的SSO系統(tǒng)其用戶名以及密碼在第一次登錄之后就將其信息存入服務(wù)器的數(shù)據(jù)庫之中.當SSO系統(tǒng)首次進行部署的時候就會在每個應(yīng)用系統(tǒng)中進行采集配置,從而產(chǎn)生一個配置文件,然后將這個配置文件保存到相應(yīng)的數(shù)據(jù)庫當中.當用戶在單點登錄時就會通過配置文件進行驗證登錄.

        2.2 SSO系統(tǒng)的總體架構(gòu)

        針對以上的系統(tǒng)設(shè)計思想,本系統(tǒng)的軟件架構(gòu)如圖1所示.

        圖1 系統(tǒng)軟件架構(gòu)圖

        3 系統(tǒng)核心技術(shù)

        Windows應(yīng)用系統(tǒng)作為當今的主流系統(tǒng)深受用戶的喜愛,它操作簡單,界面友好、人性化,而且很多辦公軟件是建立在Windows操作系統(tǒng)的基礎(chǔ)之上的.現(xiàn)在的Windows操作系統(tǒng)的應(yīng)用界面都是由多窗體組成的,操作系統(tǒng)在運行的時候都會給不同的窗體分配不同的句柄,這樣SSO系統(tǒng)在運行的時候我們就可以根據(jù)應(yīng)用系統(tǒng)所對應(yīng)分配的句柄來發(fā)送消息,以此來達到控制不同消息窗體的目的.

        單點登錄系統(tǒng)分析采集了Windows應(yīng)用程序的界面中應(yīng)該有共性信息,然后在登錄的時候?qū)⒂脩舻挠脩裘⒚艽a以及不同的窗體的句柄進行收集,然后將這些信息保存到數(shù)據(jù)庫當中.用戶下次再次登錄的時候就可以從數(shù)據(jù)庫當中進行調(diào)用然后與所輸入的用戶名密碼進行校驗.

        單點登錄系統(tǒng)的原理其實很簡單,它在登錄的時候需要對Windows應(yīng)用系統(tǒng)的窗體結(jié)構(gòu)進行分析處理,這樣記錄下所要進行發(fā)送的消息.具體登錄過程如圖2所示:

        圖2 典型的Windows應(yīng)用系統(tǒng)自動登錄過程

        4 系統(tǒng)具體實現(xiàn)

        4.1.NET中使用系統(tǒng)API函數(shù)

        新的SSO系統(tǒng)在設(shè)計的過程中調(diào)用了許多API函數(shù),這樣在應(yīng)用的過程中直接進行調(diào)用就可以了.但是,另一方面,.net類庫在對API函數(shù)的封裝并不完整,因此需要一個統(tǒng)一的調(diào)用格式.

        在進行調(diào)用的過程中為了調(diào)用的靈活性可以將所有調(diào)用的API函數(shù)統(tǒng)一封裝到類Api.cs之中.這樣的話,下次再進行調(diào)用的時候就不用重復(fù)以上代碼了,直接調(diào)用API.cs類就可以了.

        4.2 針對不同Windows應(yīng)用系統(tǒng)進行分類

        本系統(tǒng)在進行設(shè)計的過程中針對的是Windows應(yīng)用系統(tǒng),首先將不同的應(yīng)用系統(tǒng)進行了分類,以便后續(xù)系統(tǒng)的設(shè)計.將如今的Windows應(yīng)用系統(tǒng)分成了兩類:“通用型”以及“專用型”.所謂的通用型應(yīng)用系統(tǒng)是指那些應(yīng)用系統(tǒng)的界面比較統(tǒng)一,輸入框、表格以及按鈕比較單一,因此可以將這些分成“通用型”.

        有些應(yīng)用系統(tǒng)的界面比較復(fù)雜,比如說QQ,WPF等應(yīng)用系統(tǒng)的界面,他們的輸入框等并不是窗體,因此將這些分成“專用型”.

        4.2 提取登錄過程的共性信息

        應(yīng)用系統(tǒng)在登陸的過程中首先要獲取它們的共性信息,然后通過不同的句柄來判斷是哪個應(yīng)用系統(tǒng).上文中我們講到了將Windows操作系統(tǒng)分成了“通用型”和“專用型”兩類系統(tǒng),這對這兩類不同的系統(tǒng)應(yīng)該有不同的處理方法.下面我們具體介紹一下這兩種不同的處理方法.

        4.2.1 對于“通用型”Windows應(yīng)用系統(tǒng).方法如下:首先將應(yīng)用系統(tǒng)的頂層窗體利用EnumWindow()函數(shù)進行枚舉.然后通過GetChWin()和GetNextWin()得到其樹狀的窗體結(jié)構(gòu);另外也可以通過調(diào)用EnumChildWin()函數(shù),枚舉出主窗體中的所有子窗體(控件)的句柄,從而獲得作為憑證的窗體的句柄.得到句柄后然后再對應(yīng)用系統(tǒng)中用戶輸入的信息進行校驗,校驗成功后即可登錄.

        4.2.2 對于“專用型”Windows應(yīng)用系統(tǒng),不同于通用型應(yīng)用系統(tǒng)那么簡單,首先要根據(jù)坐標來定位每一個控件.

        4.3 用戶登錄憑據(jù)模擬輸入的實現(xiàn)

        SSO系統(tǒng)設(shè)計完成之后我們需要進行一下模擬驗證.用戶登錄憑據(jù)模擬輸入根據(jù)應(yīng)用系統(tǒng)類別的不同,分為兩種方式.

        4.3.1 利用SendMessage()函數(shù)直接向目標窗體發(fā)送消息.通過上面的講述,我們知道“通用型”應(yīng)用系統(tǒng)中的窗體可以獲得窗體的句柄,從而可以得到相關(guān)的信息,如果我們要向目標窗體發(fā)送相關(guān)消息的話就需要用到一個函數(shù):SendMessage()函數(shù).

        對于可以獲得窗體句柄的窗體來說可以通過這種方法來進行發(fā)送消息,這種方法有他的優(yōu)點:這種優(yōu)點就是我們可以通過對模擬輸入來實現(xiàn)目標程序的自動登錄,而且對前臺的一些操作也不會有什么影響.

        而這種方法自然也有它的缺點,其缺點就是我們不能對所有的窗體都通過這種模擬輸入的方法來進行處理.有些特殊的窗體基于安全因素的考慮是不能夠使用SendMessage()函數(shù)的.當然,值得注意的是,有些窗體中的輸入框根本就不是人們所認為的窗體.因此,使用這種方法之后也會造成不必要的麻煩.

        4.3.2 利用keybd_event()函數(shù).如果第一種方法不能支持的話我們就只能尋找其它的方法了.我們可以利用另一種函數(shù):Keydb_event函數(shù)進行模擬輸入,其函數(shù)定義如下:

        上述兩種函數(shù)是比較常用的函數(shù),如果這兩種函數(shù)都不能解決的話,MapVirtualKey()函數(shù)就可以將一些虛擬的代碼轉(zhuǎn)換成需要的掃描代碼,因此,如果上述兩種函數(shù)都不能解決的話可以通過第三種函數(shù)來解決,大部分的程序都可以通過這種方式來解決.

        優(yōu)點:該函數(shù)能夠適合大部分的程序,適用性強.

        缺點:該函數(shù)的缺點就是,如果目標程序是活動的窗口的話就無法實現(xiàn)后臺模擬輸入.

        5 結(jié)束語

        本文涉及的SSO系統(tǒng)克服了傳統(tǒng)SSO系統(tǒng)的缺點,而且實現(xiàn)了Windows應(yīng)用系統(tǒng)的單點自動登錄,提高了企事業(yè)單位的工作效率,而且使企事業(yè)單位的應(yīng)用系統(tǒng)更加安全快捷.但是不足的地方就是:Windows應(yīng)用系統(tǒng)自動登錄的時候不能夠?qū)崿F(xiàn)后臺登陸,比如QQ等;另外,對于一些JAVA開發(fā)的程序也無法實現(xiàn)自動登錄.

        〔1〕康威,李凱.統(tǒng)一用戶認證和單點登錄解決方案[EB/0L],計算機世界報,2005,36.

        〔2〕Kohl J,Neuman C.RFC 1510,The Kerberos NetworkAuthentication Service(v5),IETF,1993.

        〔3〕M icrosoftCorporation M icrosoft.NET Passport Technical Overview,2001.

        〔4〕雷愛平.基于網(wǎng)格支持單點登錄的企業(yè)級分布式權(quán)限管理框架(PM I)系統(tǒng)[D].浙江大學出版社,2005.

        〔5〕MSDN W indows and M essages.http://msdn. m icrosoft.com/en-us/library/ms632586(v=VS. 85).aspx.

        〔6〕中國惠普有限公司惠普靈動單點登錄(SSO)解決方案[EB/OL],2005-8-29.

        TP393

        A

        1673-260X(2014)03-0028-03

        猜你喜歡
        用戶系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        Camera360:拍出5億用戶
        欧美成人在线视频| 久久精品国产亚洲av四区| 美女午夜福利视频网址| 99久久人妻无码精品系列| 波多野结衣免费一区视频| 亚洲精品国产二区三区在线| 中文字幕文字幕视频在线| 深夜放纵内射少妇| 50岁熟妇的呻吟声对白| 色爱无码A V 综合区| 淫秽在线中国国产视频| 亚洲欧洲免费无码| 国产人妻人伦精品1国产盗摄| 任你躁国产自任一区二区三区| 一区二区三区精品偷拍| 国产av自拍视频在线观看| 白天躁晚上躁麻豆视频| 8av国产精品爽爽ⅴa在线观看| 中文字幕日本五十路熟女| 亚洲精品国产精品乱码在线观看| 天天鲁一鲁摸一摸爽一爽| 中文字幕巨乱亚洲| 91精品福利一区二区三区| 伊人久久大香线蕉av色婷婷色| 把插八插露脸对白内射| 欧美人与物videos另类| 成人性生交大全免费看| 中文无码精品a∨在线观看不卡| 色婷婷六月天| 亚洲国产成人精品久久成人| 女同同性av观看免费| 午夜无码片在线观看影视| 亚洲国产精品500在线观看| 日本女同性恋一区二区三区网站| 人妻精品久久久久中文字幕| 人妻aⅴ无码一区二区三区| 日韩一区二区三区中文字幕| 色久悠悠婷婷综合在线| 少妇无码av无码一区| 欧美日韩区1区2区3区| av中文字幕性女高清在线|