999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于UCenter的單點(diǎn)登錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2015-08-15 00:54:11
科技視界 2015年1期
關(guān)鍵詞:解決方案設(shè)置用戶

王 蕾

(山東工商學(xué)院網(wǎng)絡(luò)中心,山東 煙臺(tái) 264005)

隨著高校數(shù)字化校園建設(shè)的不斷發(fā)展,高校各個(gè)部門建設(shè)了各自需要的應(yīng)用系統(tǒng),由于沒(méi)有統(tǒng)一的規(guī)劃和設(shè)計(jì),各應(yīng)用系統(tǒng)直接沒(méi)有聯(lián)系,各自為營(yíng),每個(gè)系統(tǒng)都有一套帳號(hào)密碼,用戶將不得不按照各個(gè)應(yīng)用系統(tǒng)的要求分別登錄進(jìn)入相應(yīng)的系統(tǒng),這不僅需要多個(gè)系統(tǒng)管理員維護(hù)管理各個(gè)應(yīng)用系統(tǒng)的用戶信息庫(kù),并且用戶需要記憶多個(gè)帳戶和口令,使用極為不便,容易混淆,同時(shí)具有很大的安全隱患。單點(diǎn)登錄技術(shù)(single sign on,SSO)在數(shù)字化校園信息集成中成為關(guān)鍵技術(shù),用戶只需一次身份驗(yàn)證,就可對(duì)所有被授權(quán)的應(yīng)用系統(tǒng)或資源進(jìn)行無(wú)縫的訪問(wèn),從而提高工作效率,降低操作成本,提高系統(tǒng)的整體安全性,而且還能為進(jìn)一步的應(yīng)用系統(tǒng)集成奠定基礎(chǔ),對(duì)高校的信息化建設(shè)和發(fā)展具有十分重要的意義。

1 單點(diǎn)登錄技術(shù)研究現(xiàn)狀

國(guó)內(nèi)單點(diǎn)登錄技術(shù)研究主要集中在高校和企業(yè),清華大學(xué)、北京大學(xué)、上海交通大學(xué)和華南理工大學(xué)都實(shí)現(xiàn)了自己的單點(diǎn)登錄系統(tǒng),這些系統(tǒng)不是很成熟,都沒(méi)有公開(kāi)共享。企業(yè)有吉大正元的JITSSO系統(tǒng)和神舟融信開(kāi)發(fā)的UTrust SSO系統(tǒng),這些系統(tǒng)都是商業(yè)化解決方案,可以購(gòu)買使用。國(guó)內(nèi)企業(yè)如提供數(shù)字化校園解決方案都實(shí)現(xiàn)了單點(diǎn)登錄系統(tǒng),如果北京希爾、沈陽(yáng)東軟、廣州聯(lián)奕統(tǒng)和金智教育,這些系統(tǒng)解決方法都是在Yale-CAS單點(diǎn)登錄技術(shù)基礎(chǔ)上修改完善實(shí)現(xiàn)的。

國(guó)外成熟的單點(diǎn)登錄解決方案中主要有:基于Psssport協(xié)議的單點(diǎn)登錄解決方案、基于SAML協(xié)議的單點(diǎn)登錄解決方案和基于Yale-CAS協(xié)議的單點(diǎn)登錄解決方案。其中微軟公司的基于Psssport協(xié)議的解決方案是基于.NET語(yǔ)言開(kāi)發(fā)的,只能在Windows服務(wù)器上使用。基于SAML協(xié)議的單點(diǎn)登錄解決方案通過(guò)XML規(guī)范傳輸數(shù)據(jù),數(shù)據(jù)流較大時(shí),網(wǎng)絡(luò)開(kāi)銷比較大。Yale-CAS單點(diǎn)登錄解決方案由于其體系結(jié)構(gòu)設(shè)計(jì)合理、開(kāi)源、配置簡(jiǎn)單和客戶端支持廣泛等優(yōu)點(diǎn)而得到廣泛應(yīng)用。

2 UCenter單點(diǎn)登錄相關(guān)技術(shù)和機(jī)制分析

UCenter中文意思就是“用戶中心”,是北京康盛新創(chuàng)科技有限責(zé)任公司的一款開(kāi)源的一站式登錄解決方案,基于php開(kāi)發(fā),擁有完善的接口,通過(guò)修改可以掛接不同架構(gòu)第三方web應(yīng)用,實(shí)現(xiàn)單點(diǎn)登錄。

2.1 p3p協(xié)議

P3P(Platform for Privacy Preferences(隱私設(shè)定平臺(tái)規(guī)范)是萬(wàn)維網(wǎng)聯(lián)盟(W3C)公布的一項(xiàng)隱私保護(hù)推薦標(biāo)準(zhǔn),旨在為網(wǎng)上沖浪的Internet用戶提供隱私保護(hù)。P3P通過(guò)匹配網(wǎng)站的隱私策略(PrivacyPolicy)和用戶瀏覽器的隱私偏好(PrivacyPreference)來(lái)決定是否允許將用戶的隱私數(shù)據(jù)提供給網(wǎng)站使用,如果匹配良好,則向網(wǎng)站提供用戶隱私數(shù)據(jù),如不能完全匹配,提示用戶進(jìn)行處理。從技術(shù)上看,P3P包括了兩個(gè)組件:一個(gè)放在服務(wù)器端;另外一個(gè)放在客戶端,形成一個(gè)用戶代理。當(dāng)用戶登陸網(wǎng)站的時(shí)候,服務(wù)器端的組件根據(jù)網(wǎng)站的要求,會(huì)自動(dòng)生成XML語(yǔ)言形式的用戶個(gè)人處理策略,這就像是貼在商店櫥窗外的公眾告示,而客戶端的組件就將這個(gè)“公眾告示”提供給用戶。

2.2 Cookie文件

Cookie是用戶訪問(wèn)過(guò)的網(wǎng)站存放在用戶硬盤驅(qū)動(dòng)器上的小數(shù)據(jù)文件,可使服務(wù)提供者在下次訪問(wèn)時(shí)確認(rèn)用戶的身份,并能夠用來(lái)追蹤用戶瀏覽器軌跡,以此分析用戶的興趣愛(ài)好。Cookie由服務(wù)器端生成,通過(guò)http協(xié)議的User-Agent字段發(fā)送,瀏覽器會(huì)將接收到Cookie保存到某個(gè)目錄下的文本文件內(nèi),下次訪問(wèn)該網(wǎng)站時(shí)自動(dòng)發(fā)送該Cookie給網(wǎng)站。正常的Cookie只能在一個(gè)應(yīng)用中共享,即一個(gè)Cookie只能由創(chuàng)建它的應(yīng)用獲得,不能跨域設(shè)置,但是單點(diǎn)登錄涉及的系統(tǒng)都是多應(yīng)用、多域名的,能夠通過(guò)p3p協(xié)議跨域設(shè)置Cookie。

2.3 跨域設(shè)置Cookie

網(wǎng)站程序只需要設(shè)置P3P HTTP Header,跨域設(shè)置Cookie就可以成功。

asp.net設(shè)置p3p的方法:HttpContext.Current.Response.AddHeader("p3p","CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"")。

php設(shè)置p3p的方法:header('P3P:CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')。

java設(shè)置 p3p的方法:response.addHeader("P3P","CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"")。

這些標(biāo)簽就是P3P所規(guī)定的,瀏覽器會(huì)根據(jù)這些標(biāo)簽決定是否接受 cookie,實(shí)踐證明,所有瀏覽器都支持P3P,能夠設(shè)置Cookie,能夠?qū)崿F(xiàn)多域名多應(yīng)用系統(tǒng)單點(diǎn)登錄。

2.4 UCenter單點(diǎn)登錄機(jī)制分析

2.4.1 UCenter單點(diǎn)登錄流程

用戶在任一web應(yīng)用登錄界面輸入用戶和密碼進(jìn)行登錄,通過(guò)uc_client文件夾client.php中的uc_user_login函數(shù)進(jìn)行驗(yàn)證,通過(guò)一系列函數(shù)調(diào)用最終通過(guò)socket和UCenter服務(wù)器進(jìn)行通訊,傳遞數(shù)據(jù)進(jìn)行驗(yàn)證。如驗(yàn)證通過(guò),返回用戶ID,用戶姓名,加密密碼等信息,然后執(zhí)行uc_user_synlogin函數(shù),通過(guò)socket和UCenter服務(wù)器通訊傳遞用戶ID,UCenter服務(wù)器執(zhí)行user.php中的onsyslogin函數(shù),通過(guò)循環(huán)在UCenter服務(wù)器端下注冊(cè)的所有應(yīng)用返回在UCenter服務(wù)器端注冊(cè)的所有web應(yīng)用的js調(diào)用,js調(diào)用能夠跨域設(shè)置Cookie,腳本樣式,通過(guò)此腳本調(diào)用相應(yīng)web應(yīng)用下uc.php文件中的uc_note類中的synlogin函數(shù),syslogin函數(shù)發(fā)送p3p HTTP Header后,在相應(yīng)web應(yīng)用下添加Cookie(也可以同時(shí)設(shè)置Session),實(shí)現(xiàn)了所有web應(yīng)用的跨域單點(diǎn)登陸。

2.4.2 UCenter的單點(diǎn)登錄機(jī)制分析

簡(jiǎn)單概況為:跨域設(shè)置用戶信息。任一web應(yīng)用socket遠(yuǎn)程打開(kāi)UCenter服務(wù)器端,認(rèn)證通過(guò),然后傳輸已經(jīng)登陸的用戶UID,UCenter服務(wù)器端循環(huán)通過(guò)JS調(diào)用各應(yīng)用下的api,在各個(gè)web應(yīng)用下設(shè)置Cookie,實(shí)現(xiàn)單點(diǎn)登錄,而保證Cookie通用的則是P3P協(xié)議的使用。單點(diǎn)登出原理相同。

UCenter系統(tǒng)中Authcode函數(shù)可以通過(guò)一個(gè) KEY,生成動(dòng)態(tài)的密文,并可以再通過(guò)這個(gè)KEY來(lái)解密,保障了系統(tǒng)傳輸信息的安全性。

3 Web應(yīng)用單點(diǎn)登錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

3.1 UCenter服務(wù)器端搭建

首先從北京康盛新創(chuàng)科技有限責(zé)任公司官方網(wǎng)站下載UCenter 1.6.0版本代碼,在服務(wù)器上按照提示安裝,過(guò)程簡(jiǎn)單明了,然后為UCenter配置域名。UCenter安裝完畢后,添加應(yīng)用和用戶數(shù)據(jù),添加應(yīng)用注意事項(xiàng):應(yīng)用類型選擇 “其他”,應(yīng)用的主URL類似填寫http://www.xxx.com,通訊密鑰填寫不同字符,最大64字節(jié),應(yīng)用接口文件名稱一般為uc.php,但不限制于此,可根據(jù)實(shí)際情況填寫。應(yīng)用添加成功后,生成應(yīng)用配置信息,需要記錄保存。

3.2 Web應(yīng)用單點(diǎn)登錄功能實(shí)現(xiàn)

3.2.1 基于php語(yǔ)言開(kāi)發(fā)web應(yīng)用單點(diǎn)登錄實(shí)現(xiàn)

Web應(yīng)用只需修改登錄登出模塊即可,在Web應(yīng)用根目錄復(fù)制粘貼UCenter 1.6.0中的uc_client、api文件夾和添加config.inc.php文件,config.inc.php文件內(nèi)容是在UCenter服務(wù)器端添加應(yīng)用后生成的應(yīng)用配置信息。在Web應(yīng)用登錄模塊中,引入uc_client文件夾中的client.php文件和config.inc.php文件。

Web應(yīng)用賬戶登錄代碼為:

list($uid,$username,$password,$email)=uc_user_login($_POST[′username′],$_POST[′password′]);

setcookie(′Example_auth′,",-86400);

if($uid>0){

//用戶登陸成功,設(shè)置 Cookie,加密直接用 uc_authcode函數(shù),用

戶使用自己的函數(shù)

setcookie(′Example_auth′,uc_authcode($uid." ".$username,′ENCODE′));

//生成同步登錄的代碼

$ucsynlogin=uc_user_synlogin($uid);

echo ′登 錄 成 功 ′.$ucsynlogin.′
′;

exit;

}elseif($uid==-1){

為了在全球經(jīng)濟(jì)一體化的大環(huán)境中提高國(guó)民競(jìng)爭(zhēng)力,同時(shí)服務(wù)一帶一路的國(guó)家戰(zhàn)略,我國(guó)的英語(yǔ)人才培養(yǎng)質(zhì)量需要不斷提升。面臨我國(guó)學(xué)生在英語(yǔ)學(xué)習(xí)方面高投入、低產(chǎn)出的現(xiàn)狀,需要學(xué)生、教師、學(xué)校、教育界乃至于出版市場(chǎng),大家各方面形成合力,在教學(xué)資源、評(píng)價(jià)標(biāo)準(zhǔn)、英語(yǔ)環(huán)境、市場(chǎng)資源等方面進(jìn)行完善。通過(guò)沉浸式英語(yǔ)習(xí)的環(huán)境營(yíng)造、教學(xué)資源的趣味化,評(píng)價(jià)標(biāo)準(zhǔn)導(dǎo)向的多元化,以及市場(chǎng)資源的豐富化。我們期待,在不久的將來(lái),可以看到國(guó)民英語(yǔ)教育能效實(shí)現(xiàn)明顯的提升。

echo′用戶不存在,或者被刪除′;

}elseif($uid==-2){

echo ′密碼錯(cuò)′;

}else{

echo ′未定義′;

}

3.2.2 基于java語(yǔ)言開(kāi)發(fā) web應(yīng)用單點(diǎn)登錄實(shí)現(xiàn)

UCenter系統(tǒng)只提供了php版本的api客戶端,但系統(tǒng)是開(kāi)源的,完全可以使用java語(yǔ)言實(shí)現(xiàn)相應(yīng)功能。本文使用了互聯(lián)網(wǎng)上提供的api代碼,下載地址:http://code.google.com/p/discuz-ucenter-api-forjava/,將下載的java api中的代碼添加到項(xiàng)目中,根據(jù)UCenter服務(wù)器端添加應(yīng)用生成的配置信息修改config.properties,web.xml中添加:

api

*.api.UC

2

api

/api/uc.php

Web應(yīng)用引用java api中的XMLHelper和Client類,賬戶登錄代碼為:

Client e=new Client();

String result=e.uc_user_login("username","password");

LinkedList[String>rs=XMLHelper.uc_unserialize(result);

if(rs.size()>0){

int$uid=Integer.parseInt(rs.get(0));

if($uid>0){

System.out.println("登錄成功");

String$ucsynlogin=e.uc_user_synlogin($uid);

System.out.println("單點(diǎn)登錄成功"+$ucsynlogin);

//本地登陸代碼 //TODO.......

}else if($uid==-1){

System.out.println("用戶不存在,或者被刪除");

}else if($uid==-2){

System.out.println("密碼錯(cuò)");

}else{

System.out.println("未定義");

}

至此,基于java語(yǔ)言開(kāi)發(fā)的web應(yīng)用單點(diǎn)登錄功能實(shí)現(xiàn),單點(diǎn)登出功能類似。

4 結(jié)語(yǔ)

本文基于康盛新創(chuàng)公司的開(kāi)源產(chǎn)品UCenter系統(tǒng),實(shí)現(xiàn)了php語(yǔ)言和java語(yǔ)言開(kāi)發(fā)web應(yīng)用單點(diǎn)登錄,Asp語(yǔ)言和.net語(yǔ)言開(kāi)發(fā)web應(yīng)用本文沒(méi)有給出代碼,同樣也可以使用此項(xiàng)技術(shù)實(shí)現(xiàn)單點(diǎn)登錄,使用單點(diǎn)登錄系統(tǒng)減少了用戶的多次登錄認(rèn)證,減輕了維護(hù)人員數(shù)據(jù)維護(hù)工作量,提高了用戶便利性,具有一定的實(shí)用和推廣價(jià)值。下階段將對(duì)單點(diǎn)登錄系統(tǒng)功能、性能和安全性進(jìn)行深入研究。

[1]劉峰,王崢,等.基于CAS的門戶單點(diǎn)登錄方案[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,30(6).

[2]陳麗,于東海.Kerberos協(xié)議在單點(diǎn)登錄系統(tǒng)中的改進(jìn)及應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(1).

[3]單曙兵,孔磊.基于Acegi授權(quán)管理的高可用單點(diǎn)登錄系統(tǒng)的研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(7).

[4]高昊江,肖田元.基于 SAML改進(jìn)的單點(diǎn)登錄模型研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(3).

猜你喜歡
解決方案設(shè)置用戶
解決方案和折中方案
中隊(duì)崗位該如何設(shè)置
關(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
本刊欄目設(shè)置說(shuō)明
4G LTE室內(nèi)覆蓋解決方案探討
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
如何獲取一億海外用戶
Moxa 802.11n WLAN解決方案AWK-1131A系列
主站蜘蛛池模板: 国产黄视频网站| 国产在线精品网址你懂的| 又大又硬又爽免费视频| 精品伊人久久久大香线蕉欧美| 午夜精品福利影院| 国产精品久久久久久久久kt| 欧美亚洲国产一区| 亚洲另类国产欧美一区二区| 久久视精品| 青青操视频在线| 国产精品999在线| 欧美日韩国产系列在线观看| 日韩精品亚洲精品第一页| 一本久道热中字伊人| 永久免费无码日韩视频| 亚洲熟女偷拍| 精品精品国产高清A毛片| 99精品影院| 2021国产精品自产拍在线观看| 狠狠躁天天躁夜夜躁婷婷| 欧美激情二区三区| 欧洲高清无码在线| 在线观看国产黄色| 国产小视频在线高清播放| 好吊日免费视频| 在线国产毛片| 国产一区二区三区免费| 国产超薄肉色丝袜网站| 在线国产91| 四虎永久在线精品影院| 天天综合网亚洲网站| 国产精品专区第1页| 色精品视频| 久久精品视频亚洲| 国产精品青青| 不卡色老大久久综合网| 一区二区三区四区在线| 免费人欧美成又黄又爽的视频| 在线观看的黄网| 国产一区三区二区中文在线| 在线综合亚洲欧美网站| 国产一级妓女av网站| 亚欧美国产综合| 久久黄色小视频| 国产一级小视频| 无码有码中文字幕| 99热亚洲精品6码| 欧美日韩中文国产| 99热这里只有精品国产99| 欧美一区精品| 麻豆精品久久久久久久99蜜桃| 91成人在线免费视频| AV不卡无码免费一区二区三区| 日本精品一在线观看视频| 欧美精品在线看| 亚洲国产精品日韩专区AV| 华人在线亚洲欧美精品| 精品人妻AV区| 精品国产黑色丝袜高跟鞋| 伊人久久精品无码麻豆精品| 亚洲精品无码AV电影在线播放| 国产成人久久综合一区| 久久国产香蕉| 欧美成人h精品网站| 无码内射中文字幕岛国片| 日韩福利在线观看| 亚洲无码电影| 日韩黄色大片免费看| 国产精品视频免费网站| 中文字幕不卡免费高清视频| 久久综合国产乱子免费| 人与鲁专区| 91精品免费久久久| 国产麻豆精品久久一二三| 日韩一区二区三免费高清| 国产一级妓女av网站| 亚洲最新地址| 精品自拍视频在线观看| 国产综合亚洲欧洲区精品无码| 久久久久夜色精品波多野结衣| 久操中文在线| 91在线视频福利|