NSDP與CMCC不同,NSDP是一套輕量的PORTAL服務(wù)器解決方案。PORTAL服務(wù)器完全是一臺(tái)標(biāo)準(zhǔn)的WEB服務(wù)器。因此,本例子程序使用 PHP來(lái)演示。下面是index.php 的源碼,整套PORTAL只有兩個(gè)文件,一個(gè)是PHP的首頁(yè),一個(gè)是為了支持異步提交的js代碼。兩個(gè)文件都在附件中。
<!DOCTYPE html>
<html>
<head>
<title>NSDP 協(xié)議演示PORTAL頁(yè)面</title>
<meta http-equiv="content-type" c />
<script src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
$('#go').click(function(){
var name=$('#username').val();
varpwd=$('#userpasswd').val();
var search =location.search;
if(search.indexOf("?") !=-1) {
var query = search.substring(search.indexOf("?")+1);
var datas=query+"&"+"username=" + name +"&" + "userpasswd=" + pwd;
} else{
var datas="username=" + name + "&" +"userpasswd=" + pwd;
}
$.ajax({
type:"POST",
url:"http://<?php echo $_GET['wlanapip'];?>:14150/action/auth",
data:datas,
dataType:"json",
success:function(msg){
alert(msg);
var code = msg.code;
code = code*1;
switch (code) {
case 0 :
msg = "認(rèn)證成功";break;
case 1 :
msg = "用戶(hù)名或密碼錯(cuò)誤";break;
case 2 :
msg = "認(rèn)證超時(shí)";break;
case 3 :
msg = "用戶(hù)正在認(rèn)證中";break;
case4:
msg = "用戶(hù)已認(rèn)證";break;
default :
msg = "未知返回碼!";break;
}
alert(msg);
}
});
});
});
</script>
</head>
<body>
<divstyle="width:100px;margin-left:35%;margin-right:auto;margin-top:15%">
<fieldset border:2pxstyle="width:300px;hight:auto;border-color:#0000CD">
<legend>用戶(hù)登錄</legend>
賬號(hào)<input type="text"id="username" name="username" maxlength="18"autofocus required /><br />
密碼<input type="password"id="userpasswd" name="userpasswd" maxlength="18"required style="margin-top:5px" /><br />
<button type="button"id="go"style="width:60px;hight:30px;margin-top:10px;margin-left:150px;">登& amp;nbsp;錄</button>
</fieldset>
</div>
</body>
</html>
可以看出,NSDP簡(jiǎn)化到只有一個(gè)頁(yè)面的程度,而功能卻一點(diǎn)也不弱?蛻(hù)端提交了請(qǐng)求后,分布式的AP認(rèn)證前端會(huì)返回一段JSON,格式如下:
{
“ver”:“string”,
“sessid”:”int32”,
“code”:“int32”,
“msg”:“string”,
“username”: [
{“User-Name”:“string”},// 用戶(hù)名
{“Session-Timeout”:“u_int32_t”},// 剩余在線(xiàn)時(shí)長(zhǎng)
{ “Framed-IP-Address”:“string”},
{“NAS-IP-Address”:“string”},
……
}
Code 字段說(shuō)明:
Code = 0 ,表示認(rèn)證成功,攜帶username屬性。
Code = 1 ,表示用戶(hù)名或密碼錯(cuò)誤;
Code = 2 ,表示認(rèn)證超時(shí);
Code = 3 ,表示用戶(hù)正在認(rèn)證中;
Code = 4 ,表示用戶(hù)已認(rèn)證;
在HTTP認(rèn)證的時(shí)候,如果HTTP認(rèn)證服務(wù)器有異常(返回碼不是200),則Code字段返回HTTP返回碼。
這樣的“跨域提交”模式,也為APP的支持奠定了良好的基礎(chǔ)。APP可以直接向AP發(fā)起認(rèn)證!這極大的簡(jiǎn)化了APP認(rèn)證的流程。
NSDP協(xié)議Portal服務(wù)器源碼文件請(qǐng)?jiān)贠SSH論壇下載。
關(guān)鍵詞:NSDP、OSSH
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)》
2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21》
3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線(xiàn)接入網(wǎng)白皮書(shū)》
4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》》
5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5G NTN技術(shù)白皮書(shū)》
6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解》
7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)》
8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1》