最开始想用openwrt,刷了一个,结果发现不会用,里面配置太复杂了,被wan lan搞晕了,一直没法联网,由于在公司路由器原本在一个局域网下,没办法请公司SA帮忙弄了哈,也没有搞定,换DDWRT吧,这个但是有中文界面的,顿觉亲了不少。 php
ddwrt确实方便不少了,不过必定要注意呀,由于我要用WIFIDOG,以前下了几个版本都没有wifidog的配置,好像能够本身装,没试过,由于最开始测试用的wiwiz,下载到路由器上之后,无法安装,最后直接下了dd-wrt.v24_nokaid_generic.bin这个版本的ddwrt,上面能够直接配置wifidog.org至关的方便。 node
wifidog认证服务用authpuppy.org,web服务配置(nginx)。 nginx
if (!-e $request_filename) {
rewrite ^(.*) /index.php last;
} web
ddwrt => services => hotspot 服务器
gateway id 这个很重要,认证服务须要这个。 测试
服务器路径这个必定要注意哈,加/,这个最开始总是不对,研究了好久。发现原来路径里面少了一个/,致使没法访问到正确的认证接口,若是是路径的最后还要多加一个/哦。亲 url
认证服务配置 spa
nodes页面里面加一个node,默认会有一个的啦。定义gw_id就是刚才ddwrt wifidog里面配置的那个。 code
而后去下载一个plugin,作验证的,apAuthLocalUserPlugin,就他了吧。安装之后里面能够配置,页面信息,注册等等。 server
如今客户端链接上你的WIFI,去测试下吧,应该能够了哦。亲。
下面说下本身开发wifidog服务端接口的问题。
我只实现了4个接口地址,不晓得其余的还有那些哈。E文看的不是很懂,须要的本身能够看http://dev.wifidog.org/wiki/doc/developer/WiFiDogProtocol_V1
/login 这个是链接的时候访问的登陆接口 登陆成功之后,返回一个302转向到http://gw_server:gw_port/wifidog/auth?token=你的token,这样子就能够了。至因而否须要用户名密码等等登陆方法。看你本身咯
/auth 这个接口过重要,以前各类无法验证的缘由都是由于没有访问到这个,路由器在刚才拿到login以后的token后,会再次访问这个接口,带上了一些其余参数如ip、MAC地址等等,固然也包括token,服务器端能够再次作验证,这个接口重要是的要返回给路由成功与否,结果以下:
Auth: Number
Number 以下:
0 - AUTH_DENIED - User firewall users are deleted and the user removed. 6 - AUTH_VALIDATION_FAILED - User email validation timeout has occured and user/firewall is deleted 1 - AUTH_ALLOWED - User was valid, add firewall rules if not present 5 - AUTH_VALIDATION - Permit user access to email to get validation email under default rules -1 - AUTH_ERROR - An error occurred during the validation process本身猜内容,我都是猜的。反正我返回的1,就对了。
/ping 这个接口很简单。返回结果内容包含Pong字符串就能够了。
/portal 哦。这个仍是有点重要哦,是认证经过之后,路由器自动定向的页面,固然若是你须要返回到用户以前的页面,在/login接口的时候,路由器传入了一个url的地址,那个是用户真的想访问的地址哈。
好吧,打完收工,