UniFi - 使用个人账户密码进行 Portal 自定义

2017-2-25 11:43| 查看: 2546| 评论: 0|来自: ubiquiti

读者在这篇文章中将会学会如何如何自定义 UniFi Portal,以便每个访客使用唯一的用户名和密码登录
分享到: 更多

读者在这篇文章中将会学会如何如何自定义 UniFi Portal,以便每个访客使用唯一的用户名和密码登录,检查数据库(例如MySQL)

对于一直有很多问题和请求自定义门户,每个用户可以拥有自己的唯一用户名和密码,这样无论是立即投入生产或作为模板修改和调整,以适应管理的特定需求。

附件是一个非常基本的自定义化的 portal 例子。它是由 HTML 和 PHP 编写并配置在 Ubuntu 12.4 x64 服务器上。显然你需要一个合适的web服务器(Apache2),PHP5,curl包和MySQL服务器包。

附件中包括了以下几个文件:

  • .htaccess - Specifies the order of which index.* file to use指定要使用的 index.* 文件的路径
  • auth.php - 这是主要验证功能的实现的主干。 它清理任何输入并调用 config.php.inc 中的一对函数
  • config.php.inc - 这是凭证和函数存储在哪里。 auth_user 函数是针对 MySQL 数据库检查用户是否存在,密码验证以及可选的电子邮件验证。 如果用户已通过 auth_user 函数,sendAuthorization 函数将通知 UniFi 授权用户。
  • index.php - 用来提示用户名,密码,邮箱的 HTML 表单。
  • hotspot.sql - 用来存储 id,用户名,密码和邮箱的 MySQL 结构。需要注意的是结构和代码书写的方式,其中密码是以纯文本的形式被储存在数据库中。如果您为安全问题考虑,可以将密码进行加密处理。 

还有在所有需要的地方的注释是用来帮助别人在弄清楚代码在此处的作用。 这显然是一个非常剥离的前端:

 

在 config.php.inc 中出现的主要部分用来构建所需功能的 auth_user 和 sendAuthorization 函数。

如果您需要将此配置在 Ubuntu 或 Debian 服务上,请按一下步骤操作(基于标准/默认路径):

  1. 安装前提环境 (MySQL Server, Apache2, PHP5, curl, php5-curl, etc) 
  2. mkdir -p /var/www/guest/s/default/
  3. cd /var/www/guest/s/default
  4. 下载附件至本地
  5. 解压 .tar 文件: `tar -xvf MySQL/ Custom/ Portal Example.tar`
  6. 导入 hotspot.sql
  7. 在 hotspot 数据库上创建/授予用户权限
  8. 使用适当的凭据修改 config.php.inc

在安装过程中大多数这些必需软件包可以在以下网站中找到。

请重点注意,您不能在外部 portal 网站选项中包含文件夹,而只能包含IP地址。 您可以修改默认的 Apache2 index.html 文件以重定向到相对应的路径,或者创建一个指向 guest / s / default / index.php 文件的符号链接。

最后,将 UniFi 设置为指向门户网站服务器的 IP。 您可以通过在 MySQL 数据库中插入一个虚拟帐户来测试身份验证。

可选: 如果你对 MySQL 不是很熟悉,你可能想要下载一个 GUI 工具来使用 MySQL,比如 phpmyadmin(在基于 Debian 的配置是使用 'apt-get install phpmyadmin' 来安装)。这将非常有助于添加/修改/删除用户。 或者,您可以创建自己的PHP页面来修改用户。

同样值得注意的是,你可以扩展这个相当多。 例如,您可以向PHP添加代码,并向MySQL添加列以记录验证,用户的MAC地址,上次验证的时间等等。

免责声明:Ubiquiti将不支持此代码。 它被简单地提供为一个基本的,起作用的外部门户的例子。

1

高人

专业

握手

霸气

雷人
1

吐血

山寨

奋斗

刚表态过的朋友 (2 人)

相关阅读

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-4-20 10:16

返回顶部