RADIUSdesk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user_guide:mikrotik:rb751_advanced [2021/05/07 08:20] – [Add a dynamic key to a Dynamic login page entry] adminuser_guide:mikrotik:rb751_advanced [2022/06/13 09:48] (current) – [Add an entry to the Mikrotik Walled Garden] admin
Line 11: Line 11:
     * Group Mikrotik devices together and serve one common login page to them all.     * Group Mikrotik devices together and serve one common login page to them all.
     * Include company info and slideshows with the login page which are determined by the device from which a user connects.     * Include company info and slideshows with the login page which are determined by the device from which a user connects.
-    * Auto detect the type of device and serve a login page according to the device connecting. 
-      * Laptops and Desktops will get a Desktop style login page 
-      * Mobile devices like phones and tablets will get a mobile login page. 
     * Have a modern login page that makes use of AJAX techniques to connect and display session details.     * Have a modern login page that makes use of AJAX techniques to connect and display session details.
   * To enjoy this enhancement you will need:   * To enjoy this enhancement you will need:
Line 42: Line 39:
  
 ==== Add a dynamic key to a Dynamic login page entry  ==== ==== Add a dynamic key to a Dynamic login page entry  ====
-  * On your local machine, change directory to the **mikrotik** folder and edit the **login.html** file to redirect to your RADIUSdesk server.+<WRAP center round alert> 
 +  * As of 2022 we recommend changing to serving the login pages over HTTPS. 
 +  * This will require valid SSL certificates on the server as well as the Mikrotik 
 +</WRAP> 
 + 
 + 
 +  * On your local machine, change directory to the **rd_code/cake3/rd_cake/setup/mikrotik** folder and edit the **login.html** file to redirect to your RADIUSdesk server.
   * Also ensure there is an item which you can use as a dynamic key to specify the dynamic login page's info which should be displayed.   * Also ensure there is an item which you can use as a dynamic key to specify the dynamic login page's info which should be displayed.
   * In the sample page we include the **nasid** item and give it a value of $(identity).   * In the sample page we include the **nasid** item and give it a value of $(identity).
Line 48: Line 51:
   * We will subsequently have to add a **Dynamic key** to one of the items in the **Dynamic login pages** applet that will tie this a item in the query string to an item in the **Dynamic login pages** applet.   * We will subsequently have to add a **Dynamic key** to one of the items in the **Dynamic login pages** applet that will tie this a item in the query string to an item in the **Dynamic login pages** applet.
   * If we have deployed 15 of these Mikrotik devices in Gauteng; we can simply include an item like **ssid=Gauteng** with the login.html's redirect instruction and use **ssid** as a **Dynamic key**. In this way we group these 15 devices to all show the **Gauteng** dynamic login page.   * If we have deployed 15 of these Mikrotik devices in Gauteng; we can simply include an item like **ssid=Gauteng** with the login.html's redirect instruction and use **ssid** as a **Dynamic key**. In this way we group these 15 devices to all show the **Gauteng** dynamic login page.
 +
 +<code html>
 +$(if error == '')
 +<html>
 +    <head><title>...</title></head>
 +    <body>
 +        $(if chap-id)
 +        <noscript>
 +            <center><b>JavaScript required. Enable JavaScript to continue.</b></center>
 +        </noscript>
 +        $(endif)
 +        <center>If you are not redirected in a few seconds, click 'continue' below<br>
 +        <form name="redirect" action="https://YOUR_RADIUSDESK_SERVER_IP/cake3/rd_cake/dynamic-details/mikrotik-browser-detect" method="post">
 +            <input type="hidden" name="loginlink" value="$(link-login-only)">
 +            <input type="hidden" name="nasid" value="$(identity)">
 +            <input type="hidden" name="link_status" value="$(link-status)">
 +            <input type="hidden" name="link_login_only" value="$(link-login-only)">
 +            <input type="hidden" name="link_logout" value="$(link-logout)">
 +            <input type="hidden" name="mac" value="$(mac-esc)">
 +            <input type="hidden" name="type" value="mikrotik">
 +            <input type="hidden" name="ssid" value="Gauteng">
 +            <input type="submit" value="continue">
 +        </form>
 +        <script language="JavaScript">
 +        <!--
 +           document.redirect.submit();
 +        //-->
 +        </script>
 +        </center>
 +    </body>
 +</html>
 +$(else)
 +$(var)({
 + 'logged_in'     : '$(logged-in)',
 + 'link_login_only' : '$(link-login-only)',
 + 'error_orig' : '$(error-orig)',
 + 'error' : '$(error)'
 +})
 +$(endif)
 +</code>
  
 When you are done editing the login.html page and also added the **Dynamic key** to the **Dynamic login page** which you want to serve on the Mikrotik; you can copy the replacement pages to the Mikrotik router. When you are done editing the login.html page and also added the **Dynamic key** to the **Dynamic login page** which you want to serve on the Mikrotik; you can copy the replacement pages to the Mikrotik router.
 +
 +==== Enable HTTPs support on Mikrotik  ====
 +  * To Enable HTTPS support on the Mikrotik you need to configure the following:
 +        * Install a valid SSL certificate onto the Mikrotik.
 +        * Specify a DNS name in the Hotspot setup that matches the certificate
 +        * Enable **Login By** option **HTTPS**.
 +
 +=== Install a valid SSL Certificate ===
 +
  
 ==== Add an entry to the Mikrotik Walled Garden  ==== ==== Add an entry to the Mikrotik Walled Garden  ====
Line 57: Line 109:
   * Select the **Walled garden IP List** sub-tab to add an entry.    * Select the **Walled garden IP List** sub-tab to add an entry. 
   * The destination IP Address will be the IP Address of the RADIUSdesk server.   * The destination IP Address will be the IP Address of the RADIUSdesk server.
 +  * The screenshot below assume the RADIUSdesk server has an IP Address of 178.32.59.137
  
 {{ :user_guide:mikrotik:mikrotik_walled_garden_ip_list.png?nolink |}} {{ :user_guide:mikrotik:mikrotik_walled_garden_ip_list.png?nolink |}}