hotspot模板制作教程【2】
第二弹。。。继续<!--
【e5Blbko】节点login.html文件
请直接替换ROS hotspot默认的login.html
有问题请联系QQ:576673403
//-->
<!DOCTYPE>
<html>
<head>
<title>login</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />
</head>
<body>
<!-- $(if chap-id) //-->
<!--
chap是默认开启的。如果同时开启chap和pap,chap是默认优先的。
//-->
<script type="text/javascript" src="/md5.js"></script>
<!-- 首先加载md5.js //-->
<script type="text/javascript">
var $_GET = (function(){
var url = window.document.location.href.toString();
var u = url.split("?");
if(typeof(u) == "string"){
u = u.split("&");
var get = {};
for(var i in u){
var j = u.split("=");
get] = j;
}
return get;
} else {
return {};
}
})();
//以上代码,把URL的参数分割,写成$_GET['xxx']这种类型,php情节。。。伤不起啊。
window.onload =function(){
if($_GET["chaplogin"]=="true"){
//这里判断是否是返回的,如果是从认证平台返回则,提交参数给ros。注意看密码区域
location.href="$(link-login-only)?username=" + $_GET["username"] + "&password="+ hexMD5("$(chap-id)" + $_GET["password"] + "$(chap-challenge)") +"&dst=" + $_GET["dst"];
}else{
//非平台返回,则跳转到平台去。带各种参数出去。
location.href="http://ooo2b.com/open.php?node=e5Blbko&chap=true&login=$(link-login-only)&dst=$(link-orig)&mac=$(mac)";
};
}
</script>
<!-- $(else) //-->
<!--
如果chap没有勾选,则pap认证开始
//-->
<script type="text/javascript">
var $_GET = (function(){
var url = window.document.location.href.toString();
var u = url.split("?");
if(typeof(u) == "string"){
u = u.split("&");
var get = {};
for(var i in u){
var j = u.split("=");
get] = j;
}
return get;
} else {
return {};
}
})();
//同上
window.onload =function(){
if($_GET["chaplogin"]=="false"){
//同上
location.href="$(link-login-only)?username=" + $_GET["username"] + "&password="+$_GET["password"] +"&dst=" + $_GET["dst"];
}else{
//同上
location.href="http://ooo2b.com/open.php?node=e5Blbko&chap=false&login=$(link-login-only)&dst=$(link-orig)&mac=$(mac)";
};
}
</script>
<!-- $(endif) //-->
<!--
pap结束get参数chaplogin,最为重要,这是从平台返回
//-->
</body>
</html>
具体讲解部分内容:
$_GET["chaplogin"]=="false" 或者 ”true“ 这里是判断是否是平台返回和认证验证方式。true真则chap,false则假,pap验证。
hexMD5("$(chap-id)" + $_GET["password"] + "$(chap-challenge)"),这里是密码区域,一看就知道了。。。
跳转到平台的参数解析,node=e5Blbko&chap=false&login=$(link-login-only)&dst=$(link-orig)&mac=$(mac),其中chap也是真假传递。。。其他参数看平台需要传递
以上栗子是roswifi.com ROS第三方认证平台的login实例代码,已经应用在实际生产环境!
通过此login.html平台可以根据传递出来的参数对应返回。做到chap和pap分开。随便用户配置那种方式。
当然,通过这个栗子可以做很多事。。。自己发挥。
AD:定制模板欢迎PM!
第三方认证交流群:http://jq.qq.com/?_wv=1027&k=SZw5Ot
啦啦啦啦啦,赞赞赞………… 谢谢,非常好,学习了。
页:
[1]