This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 2022:bootstrap_settings [2022/06/03 21:26] – created admin | 2022:bootstrap_settings [2022/06/04 16:38] (current) – [Using CHAP instead of PAP] admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Login Pages - Settings ====== | ====== Login Pages - Settings ====== | ||
| - | ===== General | + | ===== Introduction |
| + | * To fine tune the behavior of a Login Page you need to edit its settings. | ||
| + | * Rather than going through each item on the **Settings** tab, most of which are self explanatory, | ||
| + | ===== Theme ===== | ||
| + | * The default theme is called **Default** and it will redirect to the Bootstrap 5 page. | ||
| + | * There is a special theme called **Custom** which allows you to provide your own URLs where the redirection should go. | ||
| + | * There are also a couple of pre defined themes. Selecting one of those as a theme will redirect to the older Webix style login pages. | ||
| + | * The items on the drop-down are in fact defined inside the DynamicLogin.php file in **/ | ||
| + | * One of the ideas around the Login Pages is to have a common login page URL for the captive portal e.g. https:// | ||
| + | * The CakePHP Controller will then determine: | ||
| + | * Which login page to serve based on the value of **Theme**. | ||
| + | * Which language the page must serve based on the default language selected for the Login Page. | ||
| + | |||
| + | ===== Slideshow ===== | ||
| + | * When you added multiple photos you can use the slideshow feature. | ||
| + | * The duration per slide can be fine tuned by editing the photo' | ||
| + | * You can also enforce the watching of the slideshow which will delay the pop-up of the login screen until after the specified time completed. | ||
| + | |||
| + | ===== Auto-Add Suffix ===== | ||
| + | * This feature is handy on pages where a Permanent User register by typically providing their email address and password. | ||
| + | * When the Permanent User is created (Provided the settings on the **Realm** is such) a suffix will be added. | ||
| + | {{: | ||
| + | |||
| + | * Thus you will have a username like dirk@gmail.com@our_internet_cafe. | ||
| + | * Specifying the **Auto-add Suffix** as **our_internet_cafe** will then automatically append that value to the username supplied by the user. | ||
| + | |||
| + | {{: | ||
| + | * They then simply have to remember their email address and the password they choose. | ||
| + | |||
| + | ===== Sending Email ===== | ||
| + | * There are two places where the system can send the user an email through a Login Page. | ||
| + | * The Lost Password option. | ||
| + | * The User Registration option. | ||
| + | * Remember **you first have to configure the system with valid email settings** for this to work. | ||
| + | {{: | ||
| + | |||
| + | ===== T&C URL ===== | ||
| + | * For T&C you can specify a URL | ||
| + | * Remember if this URL is located on another server, you have to add an entry to the Walled Garden of the Captive Portal for the user to reach this URL. | ||
| + | |||
| + | ===== Show Usage ===== | ||
| + | * There is an option where the page can display the usage to a user after they connected. | ||
| + | * This is handy for a voucher based system or a system that uses permanent users with top-ups. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Support for Arabic ===== | ||
| + | * Support for Arabic is now also included. | ||
| + | * There are however a small tweak you should do for it to work in an optimal way. | ||
| + | * Edit the / | ||
| + | * Remove the default Bootstrap 5 Stylesheet. | ||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | * Activate the inclusion of it in JavaScript (towards the bottom of the index.html page) | ||
| + | <code javascript> | ||
| + | if(i18n == ' | ||
| + | $('# | ||
| + | $('# | ||
| + | //RTL Stylesheet | ||
| + | $('< | ||
| + | rel: ' | ||
| + | type: ' | ||
| + | href: ' | ||
| + | }).appendTo(' | ||
| + | }else{ | ||
| + | //Normal Stylesheet (if you did comment out the normal Bootstrap stylesheet - activate this section for non-arabic languages | ||
| + | |||
| + | $('< | ||
| + | rel: ' | ||
| + | type: ' | ||
| + | href: ' | ||
| + | }).appendTo(' | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | * This tweak will allow the RTL and normal stylesheet to co-exist thus allowing you to serve pages in Arabic and other languages. | ||
| + | * Not doing the tweak will have a restricted effect on the RTL styling. | ||
| + | |||
| + | ===== User Registration With Top-Up Profile ===== | ||
| + | * When you enable user registration for a login page you have to specify the **Realm** and the **Profile** the newly registered user will belong to. | ||
| + | * One popular option is to choose a Data Top-Up type of profile. | ||
| + | * If you choose such a profile it is very important to give the user its first Top-Up value in order to impose a limit to the data the user can use. | ||
| + | |||
| + | <WRAP center round important 90%> | ||
| + | Not adding an initial Top-Up will potentially give the user unlimited data usage | ||
| + | </ | ||
| + | * The **/ | ||
| + | * Simply change **$add_topup = true;** and specify the value of the initial Top-Up | ||
| + | <code php> | ||
| + | // | ||
| + | //==== USE THIS TO ADD THE INITIAL DATA / TIME FOR USER REGISTRATION WITH **TOP-UP** PROFILES ==== | ||
| + | // | ||
| + | |||
| + | $add_topup = true; | ||
| + | if($add_topup){ | ||
| + | $postTopupData | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ]; | ||
| + | $topup_add_url | ||
| + | $topup_response = $this-> | ||
| + | $postData[' | ||
| + | } | ||
| + | // | ||
| + | //======== SMALL HACK 26 MAY 2022 =============== | ||
| + | // | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ===== CoovaChilli Specific Settings ===== | ||
| + | * As of June 2022 we added two options specific for CoovaChilli based captive portals. | ||
| + | * The one can specify if the JSON Interface is **not to be used** (for whatever reason e.g. it might not be compiled with this option) | ||
| + | * The other option is to use **CHAP** instead of PAP. | ||
| + | |||
| + | ==== JSON Interface Complications ==== | ||
| + | * When you serve the Login Page from public a server with a FQDN and want to do Ajax calls to Coova Chilli' | ||
| + | * For this then to work you need configure Coova to include HTTPS support. (Port 4990) | ||
| + | * Not all Coova Chilli instances include this support and the certificates required for this support to work correct further complicates things. | ||
| + | * When we specify to the Login Page NOT to use the JSON Interface the login page engages **/ | ||
| + | * There is however a tradeoff and the session detail will be missing after successful authentication. | ||
| + | * Use this option for devices like the **Teltonika** routers. | ||
| + | |||
| + | ==== Using CHAP instead of PAP ==== | ||
| + | * Coova Chilli typically uses PAP authentication. | ||
| + | * For this to work it uses a UAM service with a UAM secret to encrypt the password. | ||
| + | * We can also opt to use CHAP instead and NOT use the UAM service. | ||
| + | * For this to work correct you need to leave out the UAM Secret when configuring CoovaChilli. | ||
| + | <WRAP center round important 90%> | ||
| + | When you choose to use CHAP the UAM secret should be **left out** from the CoovaChilli configuration | ||
| + | </ | ||
| + | * MESHdesk and APdesk now also allow you to leave the UAM Secret out in its configuration. | ||
| + | * Also make sure your MESHdesk firmware on OpenWrt is the latest that includes this support. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | * This then brings us to the end of the discussion on the settings. | ||
| + | * Be sure to check out the other Wiki Pages that will cover other aspects of the Login Pages. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||