NSDP與CMCC不同,NSDP是一套輕量的PORTAL服務器解決方案。PORTAL服務器完全是一臺標準的WEB服務器。因此,本例子程序使用 PHP來演示。下面是index.php 的源碼,整套PORTAL只有兩個文件,一個是PHP的首頁,一個是為了支持異步提交的js代碼。兩個文件都在附件中。
<!DOCTYPE html>
<html>
<head>
<title>NSDP 協(xié)議演示PORTAL頁面</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 = "認證成功";break;
case 1 :
msg = "用戶名或密碼錯誤";break;
case 2 :
msg = "認證超時";break;
case 3 :
msg = "用戶正在認證中";break;
case4:
msg = "用戶已認證";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>用戶登錄</legend>
賬號<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簡化到只有一個頁面的程度,而功能卻一點也不弱?蛻舳颂峤涣苏埱蠛螅植际降腁P認證前端會返回一段JSON,格式如下:
{
“ver”:“string”,
“sessid”:”int32”,
“code”:“int32”,
“msg”:“string”,
“username”: [
{“User-Name”:“string”},// 用戶名
{“Session-Timeout”:“u_int32_t”},// 剩余在線時長
{ “Framed-IP-Address”:“string”},
{“NAS-IP-Address”:“string”},
……
}
Code 字段說明:
Code = 0 ,表示認證成功,攜帶username屬性。
Code = 1 ,表示用戶名或密碼錯誤;
Code = 2 ,表示認證超時;
Code = 3 ,表示用戶正在認證中;
Code = 4 ,表示用戶已認證;
在HTTP認證的時候,如果HTTP認證服務器有異常(返回碼不是200),則Code字段返回HTTP返回碼。
這樣的“跨域提交”模式,也為APP的支持奠定了良好的基礎。APP可以直接向AP發(fā)起認證!這極大的簡化了APP認證的流程。
NSDP協(xié)議Portal服務器源碼文件請在OSSH論壇下載。
關鍵詞:NSDP、OSSH
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
1、回復“YD5GAI”免費領取《中國移動:5G網絡AI應用典型場景技術解決方案白皮書》
2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21》
3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網白皮書》
4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》》
5、回復“ZGDX”免費領取《中國電信5G NTN技術白皮書》
6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解》
7、回復“YDSL”免費領取《中國移動算力并網白皮書》
8、回復“5GX3”免費領取《 R16 23501-g60 5G的系統(tǒng)架構1》