亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種增加第二因素的認(rèn)證方法及裝置與流程

文檔序號:12494008閱讀:219來源:國知局
一種增加第二因素的認(rèn)證方法及裝置與流程

本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種增加第二因素的認(rèn)證方法及裝置。



背景技術(shù):

OWA(Outlook Web Access),是通過Web方式訪問企業(yè)的郵箱,用戶通過Web頁面,輸入用戶名和口令登錄Outlook郵箱,這種登錄方式是基于瀏覽器的Cookies技術(shù),當(dāng)Cookies有效時被別人截取,則任何人都可以進(jìn)入郵箱或者如果用戶不主動的退出郵箱,當(dāng)這個Cookies不過期時則任何人都可以利用Cookies進(jìn)入特定的賬戶,來完成訪問郵箱煩的目的,使登錄郵箱存在很大的安全隱患。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種增加第二因素的認(rèn)證方法及裝置。

本發(fā)明提供了一種增加第二因素的認(rèn)證方法,包括:

當(dāng)?shù)谖搴瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時進(jìn)行處理用戶訪問請求操作,包括:

步驟P1:裝置從所述第五函數(shù)的參數(shù)中獲取用戶訪問請求中的http請求路徑,當(dāng)所述http請求路徑為第一路徑時則執(zhí)行步驟P2,當(dāng)所述http請求路徑為第二路徑時則執(zhí)行步驟P3,當(dāng)所述http請求路徑為第三路徑時則執(zhí)行步驟P4,當(dāng)所述http請求路徑為第四路徑時則執(zhí)行步驟P6;

步驟P2:所述裝置將用戶訪問請求重定向到所述第二路徑,將認(rèn)證狀態(tài)改為第二預(yù)設(shè)狀態(tài),所述第五函數(shù)返回第二預(yù)定數(shù)據(jù);

步驟P3:所述裝置檢查臨時緩存區(qū),判斷所述臨時緩存區(qū)中的數(shù)據(jù)是否有效,是則將所述用戶訪問請求重定向到所述第三路徑,所述第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則所述第五函數(shù)返回第一預(yù)定數(shù)據(jù);

步驟P4:所述裝置生成認(rèn)證請求并將所述認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收所述認(rèn)證服務(wù)器返回的通過第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

步驟P5:當(dāng)所述裝置接收到所述認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果信息時,判斷所述認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則將所述用戶訪問請求重定向到所述第四路徑,所述第五函數(shù)返回第二預(yù)定數(shù)據(jù),如為認(rèn)證未通過信息則所述第五函數(shù)返回第一預(yù)定數(shù)據(jù);

步驟P6:所述裝置檢查所述認(rèn)證狀態(tài),如認(rèn)證狀態(tài)為所述第三預(yù)設(shè)狀態(tài)或所述第一預(yù)設(shè)狀態(tài),則第五函數(shù)返回第一預(yù)定數(shù)據(jù),否則第五函數(shù)返回第二預(yù)設(shè)數(shù)據(jù)。

其中,所述步驟P4包括:所述裝置從所述http請求路徑中獲取OTP值,根據(jù)保存的用戶名和所述OTP值生成OTP認(rèn)證請求,并將所述OTP認(rèn)證請求發(fā)送給所述認(rèn)證服務(wù)器,等待接收所述認(rèn)證服務(wù)器返回的通過保存的OTP值對所述OTP認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息。

其中,所述步驟P4與所述步驟P5之間包括:所述認(rèn)證服務(wù)器接收到所述OTP認(rèn)證請求后對其進(jìn)行解析得到用戶名和OTP值,根據(jù)所述用戶名查找保存的OTP值,判斷接收到的OTP值是否與查找到的OTP值一致,是則返回認(rèn)證通過信息,否則返回認(rèn)證未通過信息。

其中,所述步驟P4包括:所述裝置生成推送認(rèn)證請求并將所述推送認(rèn)證請求發(fā)送給所述認(rèn)證服務(wù)器,等待接收所述認(rèn)證服務(wù)器返回的通過手機對所述推送認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息。

其中,所述步驟P4與所述步驟P5之間包括:所述認(rèn)證服務(wù)器接收到所述推送認(rèn)證請求后向手機發(fā)送推送消息,所述手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則將確認(rèn)登錄信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給所述裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,所述裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息,則將拒絕登錄信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給所述裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,所述裝置顯示拒絕登錄的頁面。

其中,所述步驟P4包括:所述裝置生成身份認(rèn)證請求并將所述身份認(rèn)證請求發(fā)送給所述認(rèn)證服務(wù)器,等待接收所述認(rèn)證服務(wù)器返回的通過識別用戶身份對所述身份認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息。

其中,所述步驟P4與所述步驟P5之間包括:所述認(rèn)證服務(wù)器接收到所述身份認(rèn)證請求后向手機發(fā)送身份認(rèn)證信息;所述手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如所述手機接收到用戶的確認(rèn)登錄信息,則提示用戶輸入指紋,當(dāng)接收到用戶輸入的指紋后對所述指紋進(jìn)行認(rèn)證,如指紋認(rèn)證通過則手機給所述認(rèn)證服務(wù)器將返回認(rèn)證通過信息,所述認(rèn)證服務(wù)器給所述裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,所述裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息或指紋認(rèn)證未通過,則所述手機將認(rèn)證未通過信息發(fā)送給認(rèn)證服務(wù)器,所述認(rèn)證服務(wù)器給所述裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,所述裝置顯示拒絕登錄的頁面。

其中,所述步驟P4與所述步驟P5之間包括:所述認(rèn)證服務(wù)器接收到所述身份認(rèn)證請求后向手機發(fā)送身份認(rèn)證信息;所述手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如所述手機接收到用戶的確認(rèn)登錄信息,則將提示用戶按下所述認(rèn)證設(shè)備上的按鈕,當(dāng)認(rèn)證設(shè)備接收到用戶的按鈕信息時給認(rèn)證服務(wù)器返回認(rèn)證通過信息,所述認(rèn)證服務(wù)器將給所述裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,所述裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息或所述認(rèn)證設(shè)備未接收到用戶的按鈕信息時,則對應(yīng)給認(rèn)證服務(wù)器返回認(rèn)證未通過信息,所述認(rèn)證服務(wù)器給所述裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,所述裝置顯示拒絕登錄的頁面。

其中,所述步驟P4中將所述認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器之前還包括:所述裝置建立與所述認(rèn)證服務(wù)器的連接;

所述步驟P5中接收到所述認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果與判斷所述認(rèn)證結(jié)果信息的類型之間還包括:所述裝置斷開與所述認(rèn)證服務(wù)器的連接。

其中,所述步驟P5中判斷所述認(rèn)證結(jié)果信息的類型為認(rèn)證通過信息時還包括:將認(rèn)證狀態(tài)改變?yōu)榈谌A(yù)設(shè)狀態(tài)。

其中,所述步驟P3包括:所述裝置檢查所述臨時緩存區(qū)中是否存在用戶名、檢查cookies中的cadata項是否存在、檢查cookies中的sessionid項是否存在,如均判斷為是則將所述用戶訪問請求重定向到第三路徑,所述第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則所述第五函數(shù)返回第一預(yù)定數(shù)據(jù)。

其中,當(dāng)?shù)谝缓瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,所述裝置設(shè)置自身與所述互聯(lián)網(wǎng)信息服務(wù)交互數(shù)據(jù)的屬性。

其中,當(dāng)?shù)诙瘮?shù)被所述互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,所述裝置獲取所述第二函數(shù)的參數(shù),并根據(jù)所述第二函數(shù)的參數(shù)的值判斷操作類型,如參數(shù)的值為第一數(shù)值則所述裝置調(diào)用第三函數(shù)進(jìn)行記錄日志操作;如參數(shù)的值為第二數(shù)值則所述裝置調(diào)用第四函數(shù)進(jìn)行Windows用戶認(rèn)證操作,如參數(shù)的值為第三數(shù)值則所述裝置調(diào)用第五函數(shù)進(jìn)行處理用戶訪問請求操作。

其中,所述進(jìn)行記錄日志操作,包括:所述裝置判斷所述第三函數(shù)的用戶名參數(shù)是否為空,是則所述第三函數(shù)返回第一預(yù)定數(shù)據(jù),否則所述裝置將所述用戶名參數(shù)的值保存到臨時緩存區(qū)中,所述第三函數(shù)返回第一預(yù)定數(shù)據(jù)。

其中,所述進(jìn)行Windows用戶認(rèn)證操作,包括:

所述裝置判斷所述第四函數(shù)的用戶名參數(shù)是否為空,是則所述第四函數(shù)返回第一預(yù)定數(shù)據(jù),否則所述裝置將所述用戶名參數(shù)的值保存到臨時緩存區(qū)中,所述第四函數(shù)返回第一預(yù)定數(shù)據(jù)。

其中,所述步驟P1之前還包括:

步驟A1:所述裝置根據(jù)所述第五函數(shù)的第一參數(shù)的值得到上下文數(shù)據(jù);

步驟A2:所述裝置判斷所述上下文數(shù)據(jù)是否為空,是則執(zhí)行步驟A3,否則執(zhí)行步驟A4;

步驟A3:所述裝置設(shè)置認(rèn)證狀態(tài)為第一預(yù)設(shè)狀態(tài),將用戶訪問請求重定向到第三路徑,執(zhí)行步驟A5;

步驟A4:所述裝置將所述用戶訪問請求重定向到第三路徑,執(zhí)行步驟A5;

步驟A5:所述裝置從所述用戶訪問請求中獲得http請求的主機名,并將其設(shè)置到所述上下文數(shù)據(jù)中。

發(fā)明又提供了一種增加第二因素的認(rèn)證裝置,包括:

第一獲取模塊,用于當(dāng)?shù)谖搴瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,從所述第五函數(shù)的參數(shù)中獲取用戶訪問請求中的http請求路徑;

定向更改模塊,用于當(dāng)所述http請求路徑為第一路徑時,將用戶訪問請求重定向到第二路徑,將認(rèn)證狀態(tài)改為第二預(yù)設(shè)狀態(tài),所述第五函數(shù)返回第二預(yù)定數(shù)據(jù);

檢查判斷模塊,用于當(dāng)所述http請求路徑為所述第二路徑時,檢查臨時緩存區(qū),判斷所述臨時緩存區(qū)中的數(shù)據(jù)是否有效,是則將所述用戶訪問請求重定向到第三路徑,所述第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則所述第五函數(shù)返回第一預(yù)定數(shù)據(jù);

第一生成模塊,用于當(dāng)所述http請求路徑為所述第三路徑時,生成認(rèn)證請求;

第一發(fā)送模塊,用于將所述認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器;

第一接收模塊,用于等待并接收所述認(rèn)證服務(wù)器返回的通過第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

第一判斷模塊,用于當(dāng)所述第一接收模塊接收到認(rèn)證結(jié)果信息時判斷所述認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則將所述用戶訪問請求重定向到第四路徑,所述第五函數(shù)返回第二預(yù)定數(shù)據(jù),如為認(rèn)證未通過信息則所述第五函數(shù)返回第一預(yù)定數(shù)據(jù);

第一檢查模塊,用于當(dāng)所述http請求路徑為所述第四路徑時,檢查所述認(rèn)證狀態(tài),如認(rèn)證狀態(tài)為第三預(yù)設(shè)狀態(tài)或第一預(yù)設(shè)狀態(tài),則第五函數(shù)返回第一預(yù)定數(shù)據(jù),否則第五函數(shù)返回第二預(yù)設(shè)數(shù)據(jù)。

其中,所述第一生成模塊,具體用于從所述http請求路徑中獲取OTP值,根據(jù)保存的用戶名和所述OTP值生成OTP認(rèn)證請求;

所述第一發(fā)送模塊,具體用于將所述OTP認(rèn)證請求發(fā)送給所述認(rèn)證服務(wù)器;

所述第一接收模塊,具體用于等待并接收所述認(rèn)證服務(wù)器返回的通過保存的OTP值對所述OTP認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,如認(rèn)證服務(wù)器保存的與所述用戶名對應(yīng)的OTP值與所述OTP認(rèn)證請求中的OTP值一致則認(rèn)證結(jié)果信息為認(rèn)證通過信息,否則認(rèn)證結(jié)果信息為認(rèn)證未通過信息。

其中,所述第一生成模塊,具體用于生成推送認(rèn)證請求;

所述第一發(fā)送模塊,具體用于將所述推送認(rèn)證請求發(fā)送給所述認(rèn)證服務(wù)器。

其中,所述裝置還包括顯示模塊;

所述第一接收模塊,具體用于等待并接收所述認(rèn)證服務(wù)器返回的通過手機對所述推送認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,當(dāng)手機接收到用戶的確認(rèn)登錄信息則認(rèn)證結(jié)果信息為認(rèn)證通過信息,當(dāng)手機接收到用戶的拒絕登錄信息則認(rèn)證結(jié)果信息為認(rèn)證未通過;

所述顯示模塊,用于當(dāng)所述第一接收模塊接收到的認(rèn)證結(jié)果信息為認(rèn)證通過時顯示允許登錄的頁面或當(dāng)所述第一接收模塊接收到的認(rèn)證結(jié)果信息為認(rèn)證未通過時顯示拒絕登錄的頁面。

其中,所述第一生成模塊,具體用于生成身份認(rèn)證請求;

所述第一發(fā)送模塊,具體用于將所述身份認(rèn)證請求發(fā)送給所述認(rèn)證服務(wù)器。

其中,所述裝置還包括顯示模塊;

所述第一接收模塊具體用于接收所述認(rèn)證服務(wù)器返回的通過識別用戶身份對所述身份認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,如手機接收到用戶的確認(rèn)登錄信息且對用戶輸入的指紋進(jìn)行認(rèn)證通過則所述認(rèn)證服務(wù)器返回認(rèn)證通過信息,否則所述認(rèn)證服務(wù)器返回認(rèn)證未通過信息;

所述顯示模塊,用于當(dāng)所述第一接收模塊接收到的認(rèn)證結(jié)果信息為認(rèn)證通過信息時顯示允許登錄的頁面或當(dāng)所述第一接收模塊接收到的認(rèn)證結(jié)果信息為認(rèn)證未通過信息時顯示拒絕登錄的頁面。

所述裝置還包括顯示模塊;

所述第一接收模塊具體用于接收所述認(rèn)證服務(wù)器返回的通過識別用戶身份對所述身份認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,當(dāng)手機接收到用戶的確認(rèn)登錄信息且認(rèn)證設(shè)備接收到用戶的按鈕信息時則認(rèn)證服務(wù)器返回認(rèn)證通過信息,否則認(rèn)證服務(wù)器返回認(rèn)證未通過信息;

所述顯示模塊,用于當(dāng)所述第一接收模塊接收到的認(rèn)證結(jié)果信息為認(rèn)證通過信息時顯示允許登錄的頁面或當(dāng)所述第一接收模塊接收到的認(rèn)證結(jié)果信息為認(rèn)證未通過信息時顯示拒絕登錄的頁面。

其中,所述裝置還包括建立模塊和斷開模塊;

所述建立模塊,用于建立所述裝置與所述認(rèn)證服務(wù)器的連接;

所述第一發(fā)送模塊具體用于在所述建立模塊建立了所述裝置與所述認(rèn)證服務(wù)器的連接之后將所述認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器;

所述斷開模塊,用于在所述第一接收模塊接收到所述認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果之后斷開所述裝置與所述認(rèn)證服務(wù)器的連接。

其中,所述裝置還包括:第一更改模塊,用于在所述第一判斷模塊判斷所述認(rèn)證結(jié)果信息的類型為認(rèn)證通過信息時,將認(rèn)證狀態(tài)改變?yōu)榈谌A(yù)設(shè)狀態(tài)。

其中,所述檢查判斷模塊具體用于當(dāng)所述http請求路徑為第二路徑時,檢查所述臨時緩存區(qū)中是否存在用戶名、檢查cookies中的cadata項是否存在、檢查cookies中的sessionid項是否存在,如均判斷為是則將所述用戶訪問請求重定向到第三路徑,所述第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則所述第五函數(shù)返回第一預(yù)定數(shù)據(jù)。

其中,所述裝置還包括設(shè)置模塊,用于當(dāng)?shù)谝缓瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,設(shè)置所述裝置與所述互聯(lián)網(wǎng)信息服務(wù)交互數(shù)據(jù)的屬性。

其中,所述裝置還包括:

獲取判斷模塊,用于當(dāng)?shù)诙瘮?shù)被所述互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,獲取所述第二函數(shù)的參數(shù),并根據(jù)所述第二函數(shù)的參數(shù)的值判斷操作類型;

記錄日志模塊,用于當(dāng)所述獲取判斷模塊判斷所述第二函數(shù)的參數(shù)的值為第一數(shù)值時調(diào)用第三函數(shù)進(jìn)行記錄日志操作;

認(rèn)證操作模塊,用于當(dāng)所述獲取判斷模塊判斷所述第二函數(shù)的參數(shù)的值為第二數(shù)值時所述裝置調(diào)用第四函數(shù)進(jìn)行Windows用戶認(rèn)證操作;

訪問請求操作模塊,用于當(dāng)所述獲取判斷模塊判斷所述第二函數(shù)的參數(shù)的值為第三數(shù)值時所述裝置調(diào)用第五函數(shù)進(jìn)行處理用戶訪問請求操作。

其中,所述記錄日志模塊具體用于判斷所述第三函數(shù)的用戶名參數(shù)是否為空,是則所述第三函數(shù)返回第一預(yù)定數(shù)據(jù),否則將所述用戶名參數(shù)的值保存到臨時緩存區(qū)中,所述第三函數(shù)返回第一預(yù)定數(shù)據(jù)。

其中,所述認(rèn)證操作模塊具體用于判斷所述第四函數(shù)的用戶名參數(shù)是否為空,是則所述第四函數(shù)返回第一預(yù)定數(shù)據(jù),否則將所述用戶名參數(shù)的值保存到臨時緩存區(qū)中,所述第四函數(shù)返回第一預(yù)定數(shù)據(jù)。

其中,所述裝置還包括:

得到判斷模塊,用于根據(jù)所述第五函數(shù)的第一參數(shù)的值得到上下文數(shù)據(jù),并判斷所述上下文數(shù)據(jù)是否為空;

設(shè)置定向模塊,用于當(dāng)所述得到判斷模塊判斷為是時設(shè)置認(rèn)證狀態(tài)為第一預(yù)設(shè)狀態(tài),將用戶訪問請求重定向到第三路徑;

重定向模塊,用于當(dāng)所述得到判斷模塊判斷為否時將所述用戶訪問請求重定向到第三路徑;

獲得設(shè)置模塊,用于從所述用戶訪問請求中獲得http請求的主機名,并將其設(shè)置到所述上下文數(shù)據(jù)中。

本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:

本實施例技術(shù)方案通過應(yīng)用IIS(中文全稱:互聯(lián)網(wǎng)信息服務(wù),英文全稱:Internet Information Services)的Filter(過濾器)技術(shù),用戶在登錄過程中,增加了第二因素保護(hù)的機制,即在第一因素認(rèn)證通過之后還需要輸入OTP或者通過手機、認(rèn)證設(shè)備批準(zhǔn)或者拒絕用戶的登錄請求,只有當(dāng)認(rèn)證服務(wù)器驗證OTP成功或者確認(rèn)用戶同意登錄,則表明用戶登錄成功,才允許用戶進(jìn)入Outlook應(yīng)用,否則拒絕登錄,并顯示錯誤的頁面。在認(rèn)證過程中通過增加第二因素,提高Outlook應(yīng)用的安全性。

附圖說明

圖1為本發(fā)明實施例一提供的一種增加第二因素的認(rèn)證方法流程圖;

圖2和圖3為本發(fā)明實施例二提供的一種增加第二因素的認(rèn)證方法流程圖;

圖4為本發(fā)明實施例三提供的一種增加第二因素的認(rèn)證裝置方框圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實施例是在Outlook應(yīng)用中,用戶名(即第一因素)已經(jīng)通過認(rèn)證的基礎(chǔ)上進(jìn)行實現(xiàn)的。

實施例一

本發(fā)明實施例一提供一種增加第二因素的認(rèn)證方法,如圖1所示,包括:

當(dāng)?shù)谖搴瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時進(jìn)行處理用戶訪問請求操作,包括:

步驟P1:裝置從第五函數(shù)的參數(shù)中獲取用戶訪問請求中的http請求(即從客戶端到服務(wù)器端的請求)路徑,當(dāng)http請求路徑為第一路徑時則執(zhí)行步驟P2,當(dāng)http請求路徑為第二路徑時則執(zhí)行步驟P3,當(dāng)http請求路徑為第三路徑時則執(zhí)行步驟P4,當(dāng)http請求路徑為第四路徑時則執(zhí)行步驟P6;

在本實施例中,步驟P1之前還包括:

步驟A1:裝置根據(jù)第五函數(shù)的第一參數(shù)的值得到上下文數(shù)據(jù);

步驟A2:裝置判斷上下文數(shù)據(jù)是否為空,是則執(zhí)行步驟A3,否則執(zhí)行步驟A4;

步驟A3:裝置設(shè)置認(rèn)證狀態(tài)為第一預(yù)設(shè)狀態(tài),將用戶訪問請求重定向到第三路徑,執(zhí)行步驟A5;

步驟A4:裝置將用戶訪問請求重定向到第三路徑,執(zhí)行步驟A5;

步驟A5:裝置從用戶訪問請求中獲得http請求的主機名,并將其設(shè)置到上下文數(shù)據(jù)中。

步驟P2:裝置將用戶訪問請求重定向到第二路徑,將認(rèn)證狀態(tài)改為第二預(yù)設(shè)狀態(tài),第五函數(shù)返回第二預(yù)定數(shù)據(jù);

步驟P3:裝置檢查臨時緩存區(qū),判斷臨時緩存區(qū)中的數(shù)據(jù)是否有效,是則將用戶訪問請求重定向到第三路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則第五函數(shù)返回第一預(yù)定數(shù)據(jù);

在本實施例中,如果臨時數(shù)據(jù)有效則說明用戶名已被認(rèn)證過;在步驟P1之前還可以進(jìn)行記錄日志操作或用戶認(rèn)證操作,在進(jìn)行記錄日志操作或用戶認(rèn)證操作的過程中,裝置會將用戶名存儲到臨時緩存區(qū)中;

具體的,判斷臨時緩存區(qū)中的數(shù)據(jù)是否有效,包括:檢查臨時緩存區(qū)中是否存在用戶名、檢查cookies中的cadata項是否存在、檢查cookies中的sessionid項是否存在,如均判斷為是則臨時緩存區(qū)中的數(shù)據(jù)有效,否則臨時緩存區(qū)中的數(shù)據(jù)無效;

步驟P4:裝置生成認(rèn)證請求并將認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的通過第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

在本實施例中,步驟P4包括但不限于以下幾種實現(xiàn)方式;

(1)裝置從http請求路徑中獲取OTP值,根據(jù)保存的用戶名和OTP值生成OTP認(rèn)證請求,并將OTP認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的通過保存的OTP值對所述OTP認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

對應(yīng)的,步驟P4與步驟P5之間包括:認(rèn)證服務(wù)器接收到OTP認(rèn)證請求后對其進(jìn)行解析得到用戶名和OTP值,根據(jù)用戶名查找保存的OTP值,判斷接收到的OTP值是否與查找到的OTP值一致,是則返回認(rèn)證通過信息,否則返回認(rèn)證未通過信息。

(2)裝置生成推送認(rèn)證請求并將推送認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的通過手機對所述推送認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

對應(yīng)的,步驟P4與步驟P5之間包括:認(rèn)證服務(wù)器接收到推送認(rèn)證請求后向手機發(fā)送推送消息,手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則將確認(rèn)登錄信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息,則將拒絕登錄信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,裝置顯示拒絕登錄的頁面。

(3)裝置生成身份認(rèn)證請求并將身份認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的通過識別用戶身份對所述身份認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

對應(yīng)的,步驟P4與步驟P5之間包括:認(rèn)證服務(wù)器接收到身份認(rèn)證請求后向手機發(fā)送身份認(rèn)證信息;手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則提示用戶輸入指紋,當(dāng)接收到用戶輸入的指紋后對指紋進(jìn)行認(rèn)證,如指紋認(rèn)證通過則手機給認(rèn)證服務(wù)器將返回認(rèn)證通過信息,認(rèn)證服務(wù)器給裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息或指紋認(rèn)證未通過,則手機將認(rèn)證未通過信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,裝置顯示拒絕登錄的頁面;

或,步驟P4與步驟P5之間包括:認(rèn)證服務(wù)器接收到身份認(rèn)證請求后向手機發(fā)送身份認(rèn)證信息;手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則將提示用戶按下認(rèn)證設(shè)備上的按鈕,當(dāng)認(rèn)證設(shè)備接收到用戶的按鈕信息時給認(rèn)證服務(wù)器返回認(rèn)證通過信息,認(rèn)證服務(wù)器將給裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息或認(rèn)證設(shè)備未接收到用戶的按鈕信息時,則對應(yīng)給認(rèn)證服務(wù)器返回認(rèn)證未通過信息,認(rèn)證服務(wù)器給裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,裝置顯示拒絕登錄的頁面。

步驟P5:當(dāng)裝置接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果信息時,判斷認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則將用戶訪問請求重定向到第四路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),如為認(rèn)證未通過信息則第五函數(shù)返回第一預(yù)定數(shù)據(jù);

具體的,本實施例中的步驟P5包括:當(dāng)裝置接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果信息時,判斷認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則將用戶訪問請求重定向到第四路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),如為認(rèn)證未通過信息則第五函數(shù)返回第一預(yù)定數(shù)據(jù)。優(yōu)選的,在本實施例中,如認(rèn)證結(jié)果信息為認(rèn)證未通過則裝置顯示拒絕登錄的頁面;

在本實施例中,步驟P4中將認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器之前還包括:裝置建立與認(rèn)證服務(wù)器的連接;對應(yīng)的,步驟P5中接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果與判斷認(rèn)證結(jié)果信息的類型之間還包括:裝置斷開與認(rèn)證服務(wù)器的連接。

具體的,在本實施例中,步驟P5中判斷認(rèn)證結(jié)果信息的類型為認(rèn)證通過信息時還包括:將認(rèn)證狀態(tài)改變?yōu)榈谌A(yù)設(shè)狀態(tài)。

步驟P6:裝置檢查認(rèn)證狀態(tài),如認(rèn)證狀態(tài)為第三預(yù)設(shè)狀態(tài)或第一預(yù)設(shè)狀態(tài),則第五函數(shù)返回第一預(yù)定數(shù)據(jù),否則第五函數(shù)返回第二預(yù)設(shè)數(shù)據(jù);

具體的,在本實施例中,如認(rèn)證狀態(tài)為第三預(yù)設(shè)狀態(tài)或第一預(yù)設(shè)狀態(tài)時還包括:裝置設(shè)置cookies中的cadata項和sessionid項;

在本實施例中,第一路徑為:/OWA,第二路徑為:/OWA/,第三路徑為:/owa/otpauth.aspx/,表示OTP認(rèn)證頁面的鏈接;第四路徑為:owa/default.aspx,表示OWA主頁面的鏈接。

在本實施例中,當(dāng)?shù)谝缓瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,裝置設(shè)置自身與互聯(lián)網(wǎng)信息服務(wù)交互數(shù)據(jù)的屬性。

當(dāng)?shù)诙瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,裝置獲取第二函數(shù)的參數(shù),并根據(jù)第二函數(shù)的參數(shù)的值判斷操作類型,如參數(shù)的值為第一數(shù)值則裝置調(diào)用第三函數(shù)進(jìn)行記錄日志操作;如參數(shù)的值為第二數(shù)值則裝置調(diào)用第四函數(shù)進(jìn)行Windows用戶認(rèn)證操作,如參數(shù)的值為第三數(shù)值則裝置調(diào)用第五函數(shù)進(jìn)行處理用戶訪問請求操作。

具體的,進(jìn)行記錄日志操作,包括:裝置判斷第三函數(shù)的用戶名參數(shù)是否為空,是則第三函數(shù)返回第一預(yù)定數(shù)據(jù),否則裝置將用戶名參數(shù)的值保存到臨時緩存區(qū)中,第三函數(shù)返回第一預(yù)定數(shù)據(jù)。

具體的,進(jìn)行Windows用戶認(rèn)證操作,包括:裝置判斷第四函數(shù)的用戶名參數(shù)是否為空,是則第四函數(shù)返回第一預(yù)定數(shù)據(jù),否則裝置將用戶名參數(shù)的值保存到臨時緩存區(qū)中,第四函數(shù)返回第一預(yù)定數(shù)據(jù)。

在本實施例中,第一預(yù)定數(shù)據(jù)為SF_STATUS_REQ_NEXT_NOTIFICATION,表示本次IIS與裝置的交互處理成功,IIS可以進(jìn)行后續(xù)的處理;第二預(yù)定數(shù)據(jù)為:SF_STATUS_REQ_FINISHED,表示本次操作處理完成,待瀏覽器發(fā)起新的請求。第一預(yù)設(shè)狀態(tài)為ST_INIT_CONTEXT,表示將要開始進(jìn)行OTP認(rèn)證,第二預(yù)設(shè)狀態(tài)為ST_EXCHANGE_LOGON_CONTEXT表示正在進(jìn)行OTP認(rèn)證,第三預(yù)設(shè)狀態(tài)為:ST_EXCHANGE_CLOUDENTIFYOWA_CONTEXT,表示成功進(jìn)行完OTP認(rèn)證。

實施例二

本發(fā)明實施例二提供一種增加第二因素的認(rèn)證方法,包括:

當(dāng)?shù)谝缓瘮?shù)被IIS(即互聯(lián)網(wǎng)信息服務(wù))調(diào)用時,裝置設(shè)置其與IIS交互數(shù)據(jù)的屬性;

具體的,在本實施例中,第一函數(shù)為BOOL WINAPI__stdcall Get裝置Version(HTTP_裝置_VERSION*pVer),裝置通過該函數(shù)聲明裝置的版本、設(shè)置裝置與IIS交互數(shù)據(jù)的特性、設(shè)置裝置的名稱;

當(dāng)?shù)诙瘮?shù)被IIS調(diào)用時,裝置進(jìn)行以下操作,如圖2和圖3所示,包括:

具體的,在本實施例中,第二函數(shù)為;DWORD WINAPI__stdcall Http裝置Proc(HTTP_裝置_CONTEXT*pfc,DWORD NotificationType,VOID*pvData);

步驟101:裝置獲取第二函數(shù)的參數(shù),并根據(jù)參數(shù)的值判斷操作類型,如參數(shù)的值為第一數(shù)值則裝置調(diào)用第三函數(shù)進(jìn)行記錄日志操作,執(zhí)行步驟102,如參數(shù)的值為第二數(shù)值則裝置調(diào)用第四函數(shù)進(jìn)行Windows用戶認(rèn)證操作,執(zhí)行步驟103,如參數(shù)的值為第三數(shù)值則裝置調(diào)用第五函數(shù)進(jìn)行處理用戶訪問請求操作,執(zhí)行步驟104;

具體的,本實施例在步驟中的參數(shù)為NotificationType,當(dāng)NotificationType=SF_NOTIFY_LOG則裝置調(diào)用第三函數(shù)進(jìn)行記錄日志操作,當(dāng)NotificationType=SF_NOTIFY_AUTHENTICATION則裝置調(diào)用第四函數(shù)進(jìn)行Windows用戶認(rèn)證操作,當(dāng)NotificationType=SF_NOTIFY_PREPROC_HEADERS則裝置調(diào)用第五函數(shù)進(jìn)行處理用戶訪問請求操作流程;

其中,第三函數(shù)為DWORD OnLog(HTTP_裝置_CONTEXT*pFC,HTTP_裝置_LOG*pLogInfo);第四函數(shù)為DWORD OnAuthentication(HTTP_裝置_CONTEXT*pfc,HTTP_裝置_AUTHENT*pvData);第五函數(shù)為DWORD OnPreprocHeaders(HTTP_裝置_CONTEXT*pfc,HTTP_裝置_PREPROC_HEADERS*pvData);

步驟102:裝置判斷第三函數(shù)的用戶名參數(shù)是否為空,是則第三函數(shù)返回第一預(yù)定數(shù)據(jù),否則裝置將用戶名參數(shù)的值保存到臨時緩存區(qū)中,第三函數(shù)返回第一預(yù)定數(shù)據(jù);

具體的,用戶名參數(shù)為pLogInfo,第一預(yù)定數(shù)據(jù)為SF_STATUS_REQ_NEXT_NOTIFICATION,表示本次IIS與裝置的交互處理成功,IIS可以進(jìn)行后續(xù)的處理;

步驟103:裝置判斷第四函數(shù)的用戶名參數(shù)是否為空,是則第四函數(shù)返回第一預(yù)定數(shù)據(jù),否則裝置將用戶名參數(shù)的值保存到臨時緩存區(qū)中,第四函數(shù)返回第一預(yù)定數(shù)據(jù);

具體的,用戶名參數(shù)為pLogInfo,第一預(yù)定數(shù)據(jù)為SF_STATUS_REQ_NEXT_NOTIFICATION,表示本次IIS與裝置的交互處理成功,IIS可以進(jìn)行后續(xù)的處理;

步驟104:裝置根據(jù)第五函數(shù)的第一參數(shù)的值得到上下文數(shù)據(jù);

具體的,在本實施例中,第一參數(shù)為HTTP_裝置_CONTEXT*pfc,上下文數(shù)據(jù)用于緩存裝置與IIS之間的交互數(shù)據(jù)和狀態(tài);

步驟105:裝置判斷上下文數(shù)據(jù)是否為空,是則執(zhí)行步驟106,否則執(zhí)行步驟107;

步驟106:裝置設(shè)置認(rèn)證狀態(tài)為第一預(yù)設(shè)狀態(tài),將用戶訪問請求重定向到第三路徑,執(zhí)行步驟108;

例如,在本實施例中,第三路徑為:/owa/default.aspx;第一預(yù)設(shè)狀態(tài)為ST_INIT_CONTEXT,表示將要開始進(jìn)行OTP認(rèn)證;

步驟107:裝置將用戶訪問請求重定向到第三路徑,執(zhí)行步驟108;

步驟108:裝置從用戶訪問請求中獲得http請求的主機名,并將其設(shè)置到上下文數(shù)據(jù)中;

例如,本實施例中,獲得的http請求的主機名為:localhost:1234;

步驟109:裝置從第五函數(shù)的參數(shù)中獲取用戶訪問請求中的http請求的路徑,并判斷http請求的路徑的類型,如為第一路徑則執(zhí)行步驟110,如為第二路徑則執(zhí)行步驟112,如為第三路徑則執(zhí)行步驟115,如為第四路徑則執(zhí)行步驟122;

具體的,在本實施例中,第一路徑為:/OWA,第二路徑為:/OWA/,第三路徑為:/owa/otpauth.aspx,表示OTP認(rèn)證頁面的鏈接;第四路徑為:/owa/default.aspx,表示OWA主頁面的鏈接,

如本實施例中http請求的路徑的類型為其他則使第五函數(shù)返回第一預(yù)定數(shù)據(jù),具體的第一預(yù)定數(shù)據(jù)為:SF_STATUS_REQ_NEXT_NOTIFICATION,表示IIS與裝置交互處理完成,IIS可以進(jìn)行后續(xù)的操作;

步驟110:裝置判斷上下文數(shù)據(jù)中的認(rèn)證狀態(tài)是否為第一預(yù)設(shè)狀態(tài),是則執(zhí)行步驟111,否則使第五函數(shù)返回第一預(yù)定數(shù)據(jù);

步驟111:裝置將上下文數(shù)據(jù)中的認(rèn)證狀態(tài)改為第二預(yù)設(shè)狀態(tài),并通過http的響應(yīng)頭中的Location屬性重定向到第二路徑,設(shè)置http的響應(yīng)頭中的Connection屬性為close,設(shè)置http的響應(yīng)頭中的Cache-Control屬性為no-cache,將http的響應(yīng)頭發(fā)送給瀏覽器,使第五函數(shù)返回第二預(yù)定數(shù)據(jù);

具體的,在本實施例中,第二預(yù)設(shè)狀態(tài)為ST_EXCHANGE_LOGON_CONTEXT表示正在進(jìn)行OTP認(rèn)證;第二預(yù)定數(shù)據(jù)為:SF_STATUS_REQ_FINISHED,表示本次操作處理完成,待瀏覽器發(fā)起新的請求;設(shè)置http的響應(yīng)頭中的Connection屬性為close表示瀏覽器要關(guān)閉鏈接,設(shè)置http的響應(yīng)頭中的Cache-Control屬性為no-cache表示瀏覽器不需要緩存這個頁面;

步驟112:裝置判斷用戶的登錄狀態(tài)是否有效,是則執(zhí)行步驟113,否則執(zhí)行步驟114;

具體的,在本實施例中,步驟112包括:裝置判斷用戶名是否存在且登錄標(biāo)識是否有效,是則登錄狀態(tài)有效,否則登錄狀態(tài)無效;例如cookies中的cadata項存在則表示登錄標(biāo)識有效;

步驟113:裝置判斷是否完成了有效的OTP認(rèn)證,是則第五函數(shù)返回第一預(yù)定數(shù)據(jù),否則執(zhí)行步驟114;

具體的,在本實施例中,步驟113包括:裝置判斷OTP認(rèn)證標(biāo)識是否有效,是則完成了有效的OTP認(rèn)證,否則未完成有效的OTP認(rèn)證;例如cookies中的sessionid項存在則表示未完成有效的OTP認(rèn)證;

步驟114:裝置通過http的響應(yīng)頭中的Location屬性重定向到第三路徑,設(shè)置http的響應(yīng)頭中的Connection屬性為close,設(shè)置http的響應(yīng)頭中的Cache-Control屬性為no-cache,將http的響應(yīng)頭發(fā)送給瀏覽器,使第五函數(shù)返回第二預(yù)定數(shù)據(jù);

步驟115:裝置從http請求中獲取第三路徑的查詢串,判斷查詢串包含的數(shù)據(jù)的類型,如查詢串包含的數(shù)據(jù)為第一字符串則執(zhí)行步驟116,如查詢串包含的數(shù)據(jù)為第二字符串則執(zhí)行步驟119;

具體的,在本實施例中,第一字符串為:otpmeth=o,表明是OTP認(rèn)證,第二字符串為:otpmeth=p,表明是推送認(rèn)證;第二函數(shù)從用戶訪問請求中獲取第三路徑中的查詢串,包括:通過Get方法從用戶訪問請求中獲取第三路徑的查詢串;

步驟116:裝置從查詢串中提取OTP值,根據(jù)保存的用戶名和OTP值生成OTP認(rèn)證請求,與認(rèn)證服務(wù)器建立連接,并將OTP認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的根據(jù)第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

在本實施例中,認(rèn)證服務(wù)器接收到OTP認(rèn)證請求后對其進(jìn)行解析得到用戶名和OTP值,根據(jù)用戶名查找保存的OTP值,判斷接收到的OTP值是否與查找到的OTP值一致,是則返回認(rèn)證通過信息,否則返回認(rèn)證未通過信息;

步驟117:當(dāng)裝置接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果信息時,判斷認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則執(zhí)行步驟118,如為認(rèn)證未通過信息則第五函數(shù)返回第一預(yù)定數(shù)據(jù);

在本實施例中,當(dāng)接收到認(rèn)證服務(wù)器返回的認(rèn)證未通過信息時還可以報錯,例如向瀏覽器展示錯誤頁面;

步驟118:裝置將上下文數(shù)據(jù)中的認(rèn)證狀態(tài)改變?yōu)榈谌A(yù)設(shè)狀態(tài),通過http的響應(yīng)頭中的Location屬性重定向到第四路徑,設(shè)置http的響應(yīng)頭中的Connection屬性為close,設(shè)置http的響應(yīng)頭中的Cache-Control屬性為no-cache,將http的響應(yīng)頭發(fā)送給瀏覽器,使第五函數(shù)返回第二預(yù)定數(shù)據(jù);

在本實施例中,第三預(yù)設(shè)狀態(tài)為:ST_EXCHANGE_CLOUDENTIFYOWA_CONTEXT,表示成功進(jìn)行完OTP認(rèn)證;

步驟119:裝置生成的推送認(rèn)證請求并與認(rèn)證服務(wù)器建立連接,將推送認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的根據(jù)第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

具體的,在本實施例中,認(rèn)證服務(wù)器接收到推送認(rèn)證請求后向手機發(fā)送推送消息,手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則將確認(rèn)登錄信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器將給裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息,則將拒絕登錄信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,裝置顯示拒絕登錄的頁面;

步驟120:當(dāng)裝置接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果信息時,判斷認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則執(zhí)行步驟121,如為認(rèn)證未通過信息則使第五函數(shù)返回第一預(yù)定數(shù)據(jù);

步驟121:裝置將上下文數(shù)據(jù)中的認(rèn)證狀態(tài)改變?yōu)榈谌A(yù)設(shè)狀態(tài),通過http的響應(yīng)頭中的Location屬性重定向到第四路徑,設(shè)置http的響應(yīng)頭中的Connection屬性為close,設(shè)置http的響應(yīng)頭中的Cache-Control屬性為no-cache,將http的響應(yīng)頭發(fā)送給瀏覽器,第五函數(shù)返回第二預(yù)定數(shù)據(jù);

在本實施例中,當(dāng)接收到認(rèn)證服務(wù)器返回的認(rèn)證未通過信息時還可以報錯,例如向瀏覽器展示錯誤頁面;

具體的,第三預(yù)設(shè)狀態(tài)為:ST_EXCHANGE_CLOUDENTIFYOWA_CONTEXT,表示成功進(jìn)行完OTP認(rèn)證;

步驟122:裝置檢查上下文數(shù)據(jù)中的認(rèn)證狀態(tài),如為第三預(yù)設(shè)狀態(tài)或第一預(yù)設(shè)狀態(tài),則設(shè)置登錄標(biāo)識和OTP認(rèn)證標(biāo)識均有效,第五函數(shù)返回第一預(yù)定數(shù)據(jù),否則第五函數(shù)返回第二預(yù)定數(shù)據(jù);

在本實施例中,步驟122中判斷為否時IIS還可以報錯,例如向瀏覽器展示錯誤頁面;例如設(shè)置登錄標(biāo)識和OTP認(rèn)證標(biāo)識均有效具體為:裝置設(shè)置cookies中的cadata項,刪除sessionid項。

在本實施例的步驟115中,如判斷查詢串包含的數(shù)據(jù)為第三字符串,則裝置生成身份認(rèn)證請求并將身份認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器,等待接收認(rèn)證服務(wù)器返回的根據(jù)第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

認(rèn)證服務(wù)器接收到身份認(rèn)證請求后向手機發(fā)送身份認(rèn)證信息;手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則提示用戶輸入指紋,當(dāng)接收到用戶輸入的指紋后對指紋進(jìn)行認(rèn)證,如指紋認(rèn)證通過則手機給認(rèn)證服務(wù)器將返回認(rèn)證通過信息,認(rèn)證服務(wù)器給裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息或指紋認(rèn)證未通過,則手機將認(rèn)證未通過信息發(fā)送給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器給裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,裝置顯示拒絕登錄的頁面;或

認(rèn)證服務(wù)器接收到身份認(rèn)證請求后向手機發(fā)送身份認(rèn)證信息;手機彈出用戶登錄提示框,提示用戶確認(rèn)登錄;如手機接收到用戶的確認(rèn)登錄信息,則將提示用戶按下認(rèn)證設(shè)備上的按鈕,當(dāng)認(rèn)證設(shè)備接收到用戶的按鈕信息時給認(rèn)證服務(wù)器返回認(rèn)證通過信息,認(rèn)證服務(wù)器將給裝置返回認(rèn)證通過的認(rèn)證結(jié)果信息,裝置顯示允許登錄的頁面,如手機接收到用戶的拒絕登錄信息或認(rèn)證設(shè)備未接收到用戶的按鈕信息時,則對應(yīng)給認(rèn)證服務(wù)器返回認(rèn)證未通過信息,認(rèn)證服務(wù)器給裝置返回認(rèn)證未通過的認(rèn)證結(jié)果信息,裝置顯示拒絕登錄的頁面。

當(dāng)裝置接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果信息時,判斷認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則將用戶訪問請求重定向到第四路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),如為認(rèn)證未通過信息則第五函數(shù)返回第一預(yù)定數(shù)據(jù)。

本實施例技術(shù)方案通過應(yīng)用IIS(中文全稱:互聯(lián)網(wǎng)信息服務(wù),英文全稱:Internet Information Services)的Filter(過濾器)技術(shù),用戶在登錄過程中,增加了第二因素保護(hù)的機制,即在第一因素認(rèn)證通過之后還需要輸入OTP或者通過手機批準(zhǔn)或者拒絕用戶的登錄請求,只有當(dāng)認(rèn)證服務(wù)器驗證OTP成功或者確認(rèn)用戶同意登錄,則表明用戶登錄成功,才允許用戶進(jìn)入Outlook應(yīng)用,否則,拒絕登錄,并顯示錯誤的頁面。在認(rèn)證過程中通過增加第二因素,提高Outlook應(yīng)用的安全性。

實施例三

本發(fā)明實施例三提供一種增加第二因素的認(rèn)證裝置,如圖4所示,包括:

第一獲取模塊401,用于當(dāng)?shù)谖搴瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,從第五函數(shù)的參數(shù)中獲取用戶訪問請求中的http請求路徑;

定向更改模塊402,用于當(dāng)http請求路徑為第一路徑時,將用戶訪問請求重定向到第二路徑,將認(rèn)證狀態(tài)改為第二預(yù)設(shè)狀態(tài),第五函數(shù)返回第二預(yù)定數(shù)據(jù);

檢查判斷模塊403,用于當(dāng)http請求路徑為第二路徑時,檢查臨時緩存區(qū),判斷臨時緩存區(qū)中的數(shù)據(jù)是否有效,是則將用戶訪問請求重定向到第三路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則第五函數(shù)返回第一預(yù)定數(shù)據(jù);

具體的,在本實施例中,檢查判斷模塊403具體用于當(dāng)http請求路徑為第二路徑時,檢查臨時緩存區(qū)中是否存在用戶名、檢查cookies中的cadata項是否存在、檢查cookies中的sessionid項是否存在,如均判斷為是則將用戶訪問請求重定向到第三路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),否則第五函數(shù)返回第一預(yù)定數(shù)據(jù);

第一生成模塊404,用于當(dāng)http請求路徑為第三路徑時,生成認(rèn)證請求;

第一發(fā)送模塊405,用于將認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器;

第一接收模塊406,用于等待并接收認(rèn)證服務(wù)器返回的通過第二因素進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息;

第一判斷模塊407,用于當(dāng)?shù)谝唤邮漳K406接收到認(rèn)證結(jié)果信息時判斷認(rèn)證結(jié)果信息的類型,如為認(rèn)證通過信息則將用戶訪問請求重定向到第四路徑,第五函數(shù)返回第二預(yù)定數(shù)據(jù),如為認(rèn)證未通過信息則第五函數(shù)返回第一預(yù)定數(shù)據(jù);

第一檢查模塊408,用于當(dāng)http請求路徑為第四路徑時,檢查認(rèn)證狀態(tài),如認(rèn)證狀態(tài)為第三預(yù)設(shè)狀態(tài)或第一預(yù)設(shè)狀態(tài),則第五函數(shù)返回第一預(yù)定數(shù)據(jù),否則第五函數(shù)返回第二預(yù)設(shè)數(shù)據(jù)。

在本實施例中,第一生成模塊404有多種實現(xiàn)方式,具體的以下述方式為例進(jìn)行詳述;

(1)第一生成模塊404,具體用于從http請求路徑中獲取OTP值,根據(jù)保存的用戶名和OTP值生成OTP認(rèn)證請求;

第一發(fā)送模塊405,具體用于將OTP認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器;

第一接收模塊406,具體用于等待并接收認(rèn)證服務(wù)器返回的通過保存的OTP值對OTP認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,如認(rèn)證服務(wù)器保存的與用戶名對應(yīng)的OTP值與OTP認(rèn)證請求中的OTP值一致則認(rèn)證結(jié)果信息為認(rèn)證通過信息,否則認(rèn)證結(jié)果信息為認(rèn)證未通過信息。

(2)第一生成模塊404,具體用于生成推送認(rèn)證請求;

第一發(fā)送模塊405,具體用于將推送認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器。

此種實現(xiàn)方式中,本實施例的裝置還包括顯示模塊;

第一接收模塊406,具體用于等待并接收認(rèn)證服務(wù)器返回的通過手機對推送認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,當(dāng)手機接收到用戶的確認(rèn)登錄信息則認(rèn)證結(jié)果信息為認(rèn)證通過信息,當(dāng)手機接收到用戶的拒絕登錄信息則認(rèn)證結(jié)果信息為認(rèn)證未通過;

顯示模塊,用于當(dāng)?shù)谝唤邮漳K406接收到的認(rèn)證結(jié)果信息為認(rèn)證通過時顯示允許登錄的頁面或當(dāng)?shù)谝唤邮漳K406接收到的認(rèn)證結(jié)果信息為認(rèn)證未通過時顯示拒絕登錄的頁面。

(3)第一生成模塊404,具體用于生成身份認(rèn)證請求;

第一發(fā)送模塊405,具體用于將身份認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器。

此種實現(xiàn)方式中,本實施例的裝置還包括顯示模塊;

①第一接收模塊406具體用于接收認(rèn)證服務(wù)器返回的通過識別用戶身份對身份認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,如手機接收到用戶的確認(rèn)登錄信息且對用戶輸入的指紋進(jìn)行認(rèn)證通過則認(rèn)證服務(wù)器返回認(rèn)證通過信息,否則認(rèn)證服務(wù)器返回認(rèn)證未通過信息;

顯示模塊,用于當(dāng)?shù)谝唤邮漳K406接收到的認(rèn)證結(jié)果信息為認(rèn)證通過信息時顯示允許登錄的頁面或當(dāng)?shù)谝唤邮漳K406接收到的認(rèn)證結(jié)果信息為認(rèn)證未通過信息時顯示拒絕登錄的頁面。

②第一接收模塊406具體用于接收認(rèn)證服務(wù)器返回的通過識別用戶身份對身份認(rèn)證請求進(jìn)行認(rèn)證的認(rèn)證結(jié)果信息,當(dāng)手機接收到用戶的確認(rèn)登錄信息且認(rèn)證設(shè)備接收到用戶的按鈕信息時則認(rèn)證服務(wù)器返回認(rèn)證通過信息,否則認(rèn)證服務(wù)器返回認(rèn)證未通過信息;

顯示模塊,用于當(dāng)?shù)谝唤邮漳K406接收到的認(rèn)證結(jié)果信息為認(rèn)證通過信息時顯示允許登錄的頁面或當(dāng)?shù)谝唤邮漳K406接收到的認(rèn)證結(jié)果信息為認(rèn)證未通過信息時顯示拒絕登錄的頁面。

優(yōu)選的,本實施例的裝置還可以包括建立模塊和斷開模塊;

建立模塊,用于建立裝置與認(rèn)證服務(wù)器的連接;

第一發(fā)送模塊405具體用于在建立模塊建立了裝置與認(rèn)證服務(wù)器的連接之后將認(rèn)證請求發(fā)送給認(rèn)證服務(wù)器;

斷開模塊,用于在第一接收模塊406接收到認(rèn)證服務(wù)器返回的認(rèn)證結(jié)果之后斷開裝置與認(rèn)證服務(wù)器的連接。

在本實施例中,該裝置還包括:第一更改模塊,用于在第一判斷模塊407判斷認(rèn)證結(jié)果信息的類型為認(rèn)證通過信息時,將認(rèn)證狀態(tài)改變?yōu)榈谌A(yù)設(shè)狀態(tài)。

在本實施例中,該裝置還包括設(shè)置模塊,用于當(dāng)?shù)谝缓瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,設(shè)置裝置與互聯(lián)網(wǎng)信息服務(wù)交互數(shù)據(jù)的屬性。

在本實施例中,該裝置還包括:

獲取判斷模塊,用于當(dāng)?shù)诙瘮?shù)被互聯(lián)網(wǎng)信息服務(wù)調(diào)用時,獲取第二函數(shù)的參數(shù),并根據(jù)第二函數(shù)的參數(shù)的值判斷操作類型;

記錄日志模塊,用于當(dāng)獲取判斷模塊判斷第二函數(shù)的參數(shù)的值為第一數(shù)值時調(diào)用第三函數(shù)進(jìn)行記錄日志操作;

在本實施例中,記錄日志模塊具體用于判斷第三函數(shù)的用戶名參數(shù)是否為空,是則第三函數(shù)返回第一預(yù)定數(shù)據(jù),否則將用戶名參數(shù)的值保存到臨時緩存區(qū)中,第三函數(shù)返回第一預(yù)定數(shù)據(jù)。

認(rèn)證操作模塊,用于當(dāng)獲取判斷模塊判斷第二函數(shù)的參數(shù)的值為第二數(shù)值時裝置調(diào)用第四函數(shù)進(jìn)行Windows用戶認(rèn)證操作;

在本實施例中,認(rèn)證操作模塊具體用于判斷第四函數(shù)的用戶名參數(shù)是否為空,是則第四函數(shù)返回第一預(yù)定數(shù)據(jù),否則將用戶名參數(shù)的值保存到臨時緩存區(qū)中,第四函數(shù)返回第一預(yù)定數(shù)據(jù)。

訪問請求操作模塊,用于當(dāng)獲取判斷模塊判斷第二函數(shù)的參數(shù)的值為第三數(shù)值時裝置調(diào)用第五函數(shù)進(jìn)行處理用戶訪問請求操作。

本實施例的裝置還包括:

得到判斷模塊,用于根據(jù)第五函數(shù)的第一參數(shù)的值得到上下文數(shù)據(jù),并判斷上下文數(shù)據(jù)是否為空;

設(shè)置定向模塊,用于當(dāng)?shù)玫脚袛嗄K判斷為是時設(shè)置認(rèn)證狀態(tài)為第一預(yù)設(shè)狀態(tài),將用戶訪問請求重定向到第三路徑;

重定向模塊,用于當(dāng)?shù)玫脚袛嗄K判斷為否時將用戶訪問請求重定向到第三路徑;

獲得設(shè)置模塊,用于從用戶訪問請求中獲得http請求的主機名,并將其設(shè)置到上下文數(shù)據(jù)中。

以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1