MSCBSC 移动通信论坛
搜索
登录注册
网络优化工程师招聘专栏 4G/LTE通信工程师最新职位列表 通信实习生/应届生招聘职位

  • 阅读:3727
  • 回复:0
高度灵活的HTTP认证源解决方案
YLZY032
初级会员



 发短消息    关注Ta 

积分 173
帖子 35
威望 7141 个
礼品券 0 个
专家指数 -2
注册 2015-3-17
专业方向  无线通信
回答问题数 0
回答被采纳数 0
回答采纳率 0%
 
发表于 2015-10-12 15:50:00  只看楼主 
一、应用场景

一套完整的PORTAL认证系统需要有AC,AP,PORTAL,RADIUS等很多的设备或者服务单元。本身部署起来就有一定的复杂性。如果要是牵扯到与现有的系统进行对接,那么就势必需要进行复杂的二次开发。

最常见的做法就是,RADIUS要支持更多的数据源或者数据格式。这种开发不但要修改RADIUS接口还要调整SQL,相当的麻烦。

因此,一种可以和现有数据库进行快速对接的方案就应运而生了。这就是HTTP认证。

二、技术方案

下图就是一个典型的NAS设备对接认证源的拓扑图。
[attach]322497[/attach]

高度灵活的HTTP认证

NAS设备可以对接的常用数据源包括,RADIUS,LDAP/AD等。其协议都是固定的不可更改的。而HTTP认证方式的最大特点就是使用了标准的HTTP协议。NAS作为HTTP客户端把认证信息通过GET的方式提交给WEB服务器,WEB服务器通过查询数据库,并且经过业务逻辑运算后返回标准的JSON。而WEB程序的开发是非常容易的。



三、技术优势

让NAC支持HTTP认证后,在兼容已有数据库,例如,CRM,等系统方面具备了快速交付的能力。这对于很多没有RADIUS系统的企业,可以直接对接到HR系统中去进行管理。



四、HTTP服务器端的PHP测试代码

<?php
$pdo = new PDO('mysql:host=localhost;dbname=nac','root','root');
//时间策略
$pdo->query( "SET NAMES UTF8" );

$username = $_GET['username'];
$password = $_GET['userpasswd'];
$method = $_GET['method'];
$userip = $_GET['userip'];
$usermac = $_GET['usermac'];
$nasip = $_GET['nasip'];

if($method==1){
$sql = "select * from user where username='".$username."'";
$rs = $pdo->query($sql,2);
$user = $rs->fetch();
if(!empty($user['id'])){
$array = array('Code'=>0,'User'=>array('Username'=>$username,'Userip'=>$userip,'Usermac'=>$usermac,'Sessiontime'=>$user['sessiontime'],'in'=>$user['in'],'out'=>$user['out']));
}
else{
$array = array('Code'=>1,'User'=>array('Username'=>$username,'Userip'=>$userip,'Usermac'=>$usermac));
}
$pdo=null;

}
else{
$sql = "select * from user where username='".$username."' and password='".$password."'";
$rs = $pdo->query($sql,2);
$user = $rs->fetch();
if(!empty($user['id'])){
$array = array('Code'=>0,'User'=>array('Username'=>$username,'Userip'=>$userip,'Usermac'=>$usermac,'Sessiontime'=>$user['sessiontime'],'in'=>$user['in'],'out'=>$user['out']));
}
else{
$array = array('Code'=>1,'User'=>array('Username'=>$username,'Userip'=>$userip,'Usermac'=>$usermac));
}
$pdo=null;
}

$data['url'] = 'http://'.$nasip;
$data['data'] = array('info'=>json_encode($array));
$data['method'] = 'post';

echo json_encode($array);

getAPI($data);

function getAPI($data){//抓取数据
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $data["url"]);
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_TIMEOUT,3);
if($data["method"]=="post"){
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data['data'] );
}

$getSysinfo = curl_exec ( $ch );
curl_close ( $ch );
$return=json_decode($getSysinfo,true);

return $return;
}

五、参考文献

NAC的HTTP认证功能介绍
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“ZGDX”免费领取《中国电信5G NTN技术白皮书
  • 2、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 3、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 4、回复“5GX3”免费领取《 R16 23501-g60 5G的系统架构1
  • 5、回复“iot6”免费领取《【8月30号登载】物联网创新技术与产业应用蓝皮书——物联网感知技术及系统应用
  • 6、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 7、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 8、回复“SPN2”免费领取《中国移动SPN2.0技术白皮书
  • 对本帖内容的看法? 我要点评

     
    [充值威望,立即自动到帐] [VIP贵宾权限+威望套餐] 另有大量优惠赠送活动,请光临充值中心
    充值拥有大量的威望和最高的下载权限,下载站内资料无忧

    快速回复主题    
    标题
    内容
     上传资料请点左侧【添加附件】

    当前时区 GMT+8, 现在时间是 2024-04-19 23:52:22
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

    Processed in 0.234064 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信招聘网 - Archiver