1.一種異構WEB系統單點登錄的方法,其特征在于,包括以下步驟:
步驟S1:單點登錄客戶端從用戶請求URL中讀取ST信息,若讀取成功,執(zhí)行步驟S5;若讀取失敗,執(zhí)行步驟S2;
所述ST,Service Ticket,為服務票據,是單點登錄服務端依據TGT為用戶請求的應用服務生成的用戶身份憑證;
所述TGT,Ticket Granting Ticket,為用戶身份票據,是用戶身份認證成功的重要證據,實現單點登錄的主要依據;
步驟S2:單點登錄客戶端從瀏覽器Cookie中讀取TGT信息,若存在,執(zhí)行步驟S4;若不存在,執(zhí)行步驟S3;
步驟S3:單點登錄服務端驗證用戶身份認證信息并生成TGT;
步驟S4:單點登錄服務端認證TGT并生成ST;
步驟S5:單點登錄服務端認證ST并加載頁面內容。
2.根據權利要求1所述的方法,其特征在于,所述步驟S3還包括以下子步驟:
步驟S301:單點登錄服務端接收用戶輸入的身份認證信息;
步驟S302:單點登錄服務端認證用戶身份認證信息,若認證成功,則執(zhí)行步驟S303;若認證失敗,則返回步驟S301;
步驟S303:單點登錄服務端依據用戶身份認證信息生成TGT,并發(fā)送給單點登錄客戶端。
3.根據權利要求2所述的方法,其特征在于,所述步驟S301中,用戶通過單點登錄客戶端向單點登錄服務端發(fā)送用戶身份認證請求,單點登錄服務端接收用戶的身份認證請求,重定向到單點登錄服務端的身份認證控制頁面,引導用戶輸入用戶名、密碼、驗證碼等身份認證信息并接收所述身份認證信息。
4.根據權利要求2所述的方法,其特征在于,單點登錄客戶端接收單點登錄服務端發(fā)送的TGT,將TGT存入Cookie。
5.根據權利要求1所述的方法,其特征在于,所述步驟S4還包括以下子步驟:
步驟S401:單點登錄客戶端向單點登錄服務端發(fā)送認證TGT請求;
步驟S402:單點登錄服務端接收單點登錄客戶端發(fā)送的認證TGT請求,并提取認證TGT請求中攜帶的TGT,對TGT進行認證,若認證成功,將認證成功后的TGT打包成json數據發(fā)送給單點登錄客戶端,執(zhí)行步驟S403;若認證失敗,發(fā)送認證失敗信息至單點登錄客戶端,并返回步驟S3;
步驟S403:單點登錄服務端生成ST并發(fā)送給單點登錄客戶端。
6.根據權利要求5所述的方法,其特征在于,為保證安全性,ST在每一次用戶請求應用服務時都重新生成,且一次認證后即過期。
7.根據權利要求5或6所述的方法,其特征在于,單點登錄客戶端接收單點登錄服務端發(fā)送的ST,將ST存入Javascript的ST變量中。
8.根據權利要求1所述的方法,其特征在于,單點登錄服務端使用CAS進行TGT和ST的生成和認證。
9.根據權利要求1所述的方法,其特征在于,所述步驟S5還包括以下子步驟:
步驟S501:單點登錄客戶端向單點登錄服務端發(fā)送認證ST請求;
步驟S502:單點登錄服務端接收單點登錄客戶端發(fā)送的認證ST請求,并提取認證ST請求中攜帶的ST,對ST進行認證,若認證成功,將認證成功后的ST打包成json數據發(fā)送至單點登錄客戶端,執(zhí)行步驟S503;若認證失敗,發(fā)送認證失敗信息至單點登錄客戶端,返回步驟S3;
步驟S503:加載頁面內容。
10.根據權利要求1所述的方法,其特征在于,單點登錄客戶端與單點登錄服務端的交互方式基于json技術實現。