External Web Portal 的源代碼模板(Controller 4.1.5 或以上版本)
適用 Omada Controller V4.1.5 或以上版本。
若為 Omada Controller V3.1.4 或以上版本,請參考 FAQ2390
若為 Omada Controller V3.0.5 或以上版本,請參考 FAQ916
此文章概述建立 external web portal 伺服器的要求,在 Omada Controller 上, External Web Portal 只能在 portal 驗證類型為 External Radius Server時使用。
下圖描繪了無線客戶端、EAP、Omada Controller、External Web Portal 和 Radius Server,將協助您更瞭解建立 External Web Portal 伺服器的需求。
1.無線客戶端 & 有線客戶端使用 Wi-Fi 或網路線試著連接網際網路時,EAP 或閘道將攔截客戶端的 HTTP request 並將其重新導向至 Omada Controller。(第 1 步和第 2 步)
2.接著 Omada Controller 透過回應 HTTP 狀態代碼 302 Found到客戶端,將客戶端的請求重新導向至 external portal page。(第 3 步和第 4 步)
3. 客戶端傳送 HTTP/HTTPS GET request 到 external web portal,包含參數“?target=target_controller_ip&targetPort=target_controller_port&clientMac=client_mac&clientIp=client_ip&raidusServerIp=radius_server_ip&apMac=ap_mac&gatewayMac=gateway_mac&scheme=scheme&ssidName==ssid_name&radioId=radio_id(0 為 2.4G 廣播, 1 為 5G 廣播)&vid-vid&originUrl==redirecturl(若您未設定無線/有線客戶端通過驗證後重新導向的 URL,將依無線客戶端重新導向預設 URL )”.
例如: “http://172.30.30.113?target=172.30.30.113&targetPort=8088&clientMac=F8-1E-DF-AA-AA-AA&clientIP=172.30.30.103&raidusServerIp=172.30.30.120&apMac=AC-84-C6-BB-BB-BB&GatewayMac=172.30.0.1&scheme=https&ssidName=eap_test&radioId=1&originalUrl=https%3A%2F%2Fwww.tp-link.com” (第 5 步)
4. External web portal 伺服器應能夠取得 clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, scheme, originUrl 參數值。接著 external web portal server 應使用 username, password, clientMac, clientIp, apMac, gatewayMac, ssidName, scheme, vid, radioId, originUrl 等資訊,將客戶端重新導向至 Controller。(第 6 步)
5. 客戶端提交後,將使用 HTTP 訊息中的JSON 格式傳送HTTP/HTTPS POST 封包到 (http) https://target_controller_ip:targetport/portal/radius/auth。(第 7 步)
6.Omada Controller 與 radius server 通訊,驗證 username 和 password。(第 8 步和第 9 步)
7.若通過驗證,也就是說從 Radius server 接收到 Access-Accept,Omada Controller 將根據客戶端的設定重新導向內建的成功頁面或自定義頁面。(第 10 步)
注意:
1. 客戶端應在第 7 步將 HTTP/HTTPS POST 傳送至 Controller,因為 Controller 4.1.5 (或以上版本)不以此方式支援 HTTP/HTTPS GET。
2. 若您的 Controller (4.1.5 或以上版本) 是從 Controller 3.x.x 進行更新,請注意我們有變更某些參數“名稱“。
名稱(V3.x) |
名稱(V4.x) |
類型 |
註記 |
clientMac |
clientMac |
string |
客戶端 MAC 位址 |
clientIp |
clientIp |
string |
客戶端 IP 位址 |
ap |
apMac |
string |
AP MAC 位址(僅供 ap) |
ssid |
ssidName |
string |
ssid 名稱 |
radioId |
radioId |
integer |
0: 2.4GHz, 1: 5GHz(僅供 ap) |
/ |
authType |
integer |
實際的驗證類型,只支援 External RADIUS 和 Hotspot RADIUS 驗證方式。 2: External RADIUS; 8: Hotspot RADIUS |
redirectUrl |
originUrl |
string |
redirectUrl |
username |
username |
string |
驗證 username |
password |
password |
string |
驗證 password |
3. 在第 7 步中,若您的格式中有非 ASCII 字元(像是 SSID 名稱為中文或其他語言),將 HTTP/HTTPS POST 傳送至 Controller 時,必須使用 UTF-8 編碼。
下列 html 模板為簡易 demo,您可以使用 Omada Controller 開發 External Web Portal 頁面:
這篇faq是否有用?
您的反饋將幫助我們改善網站