
在認(rèn)證之前客戶端與接入設(shè)備之間建立起預(yù)連接,即客戶端用戶在認(rèn)證成功之前在接入設(shè)備上已建立用戶在線表項(xiàng),并且只有部分網(wǎng)絡(luò)訪問權(quán)限。
客戶端發(fā)起HTTP連接請(qǐng)求。
接入設(shè)備收到HTTP連接請(qǐng)求報(bào)文時(shí),如果是訪問Portal服務(wù)器或免認(rèn)證網(wǎng)絡(luò)資源的HTTP報(bào)文,則接入設(shè)備允許其通過;如果是訪問其它地址的HTTP報(bào)文,則接入設(shè)備將其URL地址重定向到Portal認(rèn)證頁面。
客戶端根據(jù)獲得的URL地址向Portal服務(wù)器發(fā)起HTTP連接請(qǐng)求。
Portal服務(wù)器向客戶端返回Portal認(rèn)證頁面。
用戶在Portal認(rèn)證頁面輸入用戶名和密碼后,客戶端向Portal服務(wù)器發(fā)起Portal認(rèn)證請(qǐng)求。
-
(可選)Portal服務(wù)器收到Portal認(rèn)證請(qǐng)求后,如果Portal服務(wù)器與接入設(shè)備之間采用CHAP認(rèn)證,則Portal服務(wù)器向接入設(shè)備發(fā)起Portal挑戰(zhàn)字請(qǐng)求報(bào)文(REQ_CHALLENGE);如果Portal服務(wù)器與接入設(shè)備之間采用PAP認(rèn)證,則接入設(shè)備直接進(jìn)行第9步。
Portal挑戰(zhàn)字請(qǐng)求使用的共享密鑰是通過****shared-key****命令配置的,請(qǐng)確保共享密鑰配置正確,并且和Portal服務(wù)器保持一致。
(可選)接入設(shè)備向Portal服務(wù)器回應(yīng)Portal挑戰(zhàn)字應(yīng)答報(bào)文(ACK_CHALLENGE)。
Portal服務(wù)器將用戶輸入的用戶名和密碼封裝在Portal認(rèn)證請(qǐng)求報(bào)文(REQ_AUTH)中,并發(fā)送給接入設(shè)備。
接入設(shè)備根據(jù)獲取到的用戶名和密碼,向RADIUS服務(wù)器發(fā)送RADIUS認(rèn)證請(qǐng)求(ACCESS-REQUEST)。
RADIUS服務(wù)器對(duì)用戶名和密碼進(jìn)行認(rèn)證。如果認(rèn)證成功,則RADIUS服務(wù)器向接入設(shè)備發(fā)送認(rèn)證接受報(bào)文(ACCESS-ACCEPT);如果認(rèn)證失敗,則RADIUS服務(wù)器返回認(rèn)證拒絕報(bào)文(ACCESS-REJECT)。
由于RADIUS協(xié)議合并了認(rèn)證和授權(quán)的過程,因此認(rèn)證接受報(bào)文中也包含了用戶的授權(quán)信息。
- 接入設(shè)備根據(jù)接收到的認(rèn)證結(jié)果接入/拒絕用戶。如果允許用戶接入,則接入設(shè)備向RADIUS服務(wù)器發(fā)送計(jì)費(fèi)開始請(qǐng)求報(bào)文(ACCOUNTING-REQUEST)。
- RADIUS服務(wù)器返回計(jì)費(fèi)開始響應(yīng)報(bào)文(ACCOUNTING-RESPONSE),并開始計(jì)費(fèi),將用戶加入自身在線用戶列表。
- 接入設(shè)備向Portal服務(wù)器返回Portal認(rèn)證結(jié)果(ACK_AUTH),并將用戶加入自身在線用戶列表。
- Portal服務(wù)器向客戶端發(fā)送認(rèn)證結(jié)果報(bào)文,通知客戶端認(rèn)證成功,并將用戶加入自身在線用戶列表。
- Portal服務(wù)器向接入設(shè)備發(fā)送認(rèn)證應(yīng)答確認(rèn)(AFF_ACK_AUTH)。