UniFi -热点门户定制

概观

读者将学习如何自定义内置的UniFi热点门户。

很多客人门户网站实现允许你改变的标志,文字,也许风格。 一些允许你做更多,但他们的平庸的UI,你只能希望它会出来确定每次修改后。 有些磁盘空间限制,固定的目录结构,以及种种的限制。

不与UNIFI! 我们几乎打通整个门户/目录下(即把尽可能多或尽可能少的图形,视频,只要你愿意),使用纯html格式(即使用您选择的任何编辑器),并允许即时测试(即一旦该文件被保存,重新从客人的浏览器页面,你会看到它的外观)。

此外,您可以创建多个热点包 - 每个都有不同的付款,名称,使用时间,带宽限制。
设置

  • 在设置- >访客控制,使客户门户和门户定制,应用
  • 门户页面(那些的被服务)的副本将被复制到<unifi_base> /数据/门户
  • 使用另一台PC连接到客户网络,并与使用浏览器去任何网站
  • 你会看到默认的门户页面
  • 修改的页面(如),然后重新启动客户机上的浏览器

<unifi_base>是

  • **苹果:/**应用程序/ UniFi.app /内容/资源
  • 窗户:“%USERPROFILE%/ Ubiquiti公司宇辉”
  • Linux操作系统:/ usr / lib中/ UNIFI

样品门户
样品门户,而本身有用,写的方式,它演示了最简单的格式的大部分特性。

# directory structure
 index.html  : the main landing page
 bundle/messages.properties: for localization and hotspot package specification
 payment.html  : for credit card information submission.  requires https, also served as an example of additional .html page
 fail.html  : default page when there's error handling guest login

 supporting files: 
 images/
 js/
 reset-min.css
 styles.css

注意事项:

  • 所有。html页面经过渲染引擎,可以是形式的POST操作的目标
  • 所有支持的文件不是必需的,你可以滚你自己

并进一步解释,让我们通过一些案例:方案****我可以修改的东西,看看它是否工作?

  • 对控制器:让客户门户,选择无身份验证
  • 修改index.html的:找到
"<h2>Terms of Use</h2>"

并将其更改为

"<h2>Welcome to Joe's Guest Portal!</h2>"
  • 3有另外一个设备连接到来宾无线网络,打开浏览器,任何URL

**如何显示一个使用条款页面的自定义门户?**对控制器:启用客户门户和选择无身份验证。

  • 看看index.html的底部,你可以删除所有不相关
  • 所有这一切需要的是表单POST到/客/登录授权用户
  • 示例页面要求用户接受使用条款的通过禁用提交按钮,如果他们不勾选“我接受使用条款”

**我怎么能简单的密码认证?**对控制器:启用来宾门户,选择简单的密码。

  • 查找 … </ UNIFI>包围的部分
  • 需要表单POST(“密码”)
  • 隐藏的“Page_Error事件”表示该页面将呈现错误时,样品中的index.html
  • 这使我们看<unifi的secion if=“has_error”>情形之一的本地化错误或欢迎标题将显示

**我要如何整合的UniFi控制器与PayPal Pro或标准账户?**我们已编制了一步一步的例子,演示如何的UniFi热点可以用支付宝Pro和标准账户相结合。券定制

目前,该券自定义尚未实现。 但是,您可以尝试修改 的webapps / ROOT /页/ voucher.jsp 我们加强 ​​这之前。

注意:请确保此文件备份的地方,因为这将控制器升级/重新安装过程中被淘汰。

JSP代码是类似HTML和修改。 当前的实现打印,每行4张优惠券以最小的格式。

有效期为<%=有效的%> </ P>

<%=代码%> </ P> </ TD>
另一种方法是使用API​​来创建券,自然你会得到优惠券的详细信息以JSON的自定义格式/打印(如:把它发送到收据打印机)。
Portal页面的语法和变量

一些的UniFi标签在下面列出。


  • 几个瓦尔填充,您可以使用渲染它在HTML页面

  • 验证:无|密码|热点

  • AUTH_NONE:假|真

  • AUTH_PASSWORD:假|真

  • auth_hotspot:假|真

  • voucher_enabled:假|真

  • payment_enabled:假|真

  • 包:包ID(由POST或GET)

  • mac:在guest虚拟机的MAC地址

  • ap_mac:AP的MAC地址

  • ap_name:AP的名称

  • MAP_NAME:AP的位置(地图名)

  • SSID:无线网络的SSID

  • 错误:错误信息

  • has_error:假|真

  • <UNIFI包括=“header.html中”/>
    包含另一个HTML页面

  • <UNIFI包括=“header.html中”/> … … </ UNIFI>
    简单的if / then / else逻辑,以确定该页面的部分应该显示使用 … </ UNIFI> D


  • 文本本地化,见包/ messages.properties中


  • 生成的URL(也可能将其更改为https)相对

游客的参数

运营商可以在URL“/客/登录”,用户将张贴到被授权根据定义参数:

  • 按:身份验证类型(对于热点):优惠券|信用|支付宝
  • 包装:包装标识(热点)
  • 优惠券:优惠券代码(热点/券)
  • cc_xxxxx:信用卡信息(热点/学分):
  • landing_url:使用动态着陆的URL(其可以通过使用瓦尔构造)
  • Page_Error事件:当错误发生时相对URI(fail.html是默认的)

注:信用卡相关领域包括cc_firstname,cc_lastname,CC_NUMBER,cc_year,cc_month,cc_ccv2 cc_addr1,cc_addr2,cc_city,cc_state,cc_zip,cc_country,cc_email
包定义

用户可以在目录下定义包的定义:

“包/ messages.properties中 ACKAGE定义“
##包1 #金额为美元 package.1.amount = 5.99 #默认货币为美元 package.1.currency = USD package.1.hours = 8 #什么是显示在热点经理 package.1.name =基本8HR #什么是显示在信用卡月结单 package.1.charged_as =热点8小时的WiFi ##包2 package.2.amount = 8.99 package.2.hours = 24 package.2.name =高级Daypass package.2.charged_as =热点1日的WiFi ##包3 #这是一个免费的试用包(带量0) package.3.amount = 0 package.3.hours = 2 package.3.name =免费试用 #是否覆盖每个WLAN /用户的用户组策略,默认为false #只有在释放2.1.0可用 package.3.limit_overwrite =真 #kbps的,默认情况下是无限的 package.3.limit_down = 4096 #kbps的,默认情况下是无限的 package.3.limit_up = 1024 #兆字节,默认值是无限的 package.3.limit_quota = 1024

收藏下。

擦,把国外的资料用谷歌翻译发出来有意思啊!哈哈哈,

SB一个,把英文就翻译一下过来