码迷,mamicode.com
首页 > 其他好文 > 详细

NSDP协议PORTAL服务器源码

时间:2015-04-28 18:59:53      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:nsdp   ossh   

NSDP与CMCC不同,NSDP是一套轻量的PORTAL服务器解决方案。PORTAL服务器完全是一台标准的WEB服务器。因此,本例子程序使用 PHP来演示。下面是index.php 的源码,整套PORTAL只有两个文件,一个是PHP的首页,一个是为了支持异步提交的js代码。两个文件都在附件中。

 

<!DOCTYPE html>
<html>
<head>
<title>NSDP
协议演示PORTAL页面</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<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>
       <div  style="width:100px;margin-left:35%;margin-right:auto;margin-top:15%">
                <fieldset border:2pxstyle="width:300px;hight:auto;border-color:#0000CD">
                       <legend>用户登录</legend>
                               账&nbsp;&nbsp;号&nbsp;&nbsp;<input type="text"id="username" name="username" maxlength="18"autofocus required />  <br />
                               密&nbsp;&nbsp;码&nbsp;&nbsp;<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简化到只有一个页面的程度,而功能却一点也不弱。客户端提交了请求后,分布式的AP认证前端会返回一段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发起认证!这极大的简化了APP认证的流程。

 

NSDP协议Portal服务器源码文件请在OSSH论坛下载。

 

 

 

 

 

关键词:NSDP、OSSH


NSDP协议PORTAL服务器源码

标签:nsdp   ossh   

原文地址:http://natshell521.blog.51cto.com/9952962/1639704

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!