Users Guide

Table Of Contents
Dell PowerConnect ArubaOS 5.0 | User Guide Internal Captive Portal | 631
Installing a New Captive Portal Page
You can install the captive portal page by using the Maintenance function of the WebUI.
Log into the WebUI and navigate to Configuration > Management >Captive Portal >
Upload Custom Login Pages.
This page lets you upload your own files to the controller. There are different page types that you can choose:
z Captive Portal Login (top level): This type uploads the file into the controller and sets the captive portal page
to reference the file that you are uploading. Use with caution on a production controller as this takes effect
immediately.
z Captive Portal Welcome Page: This type uploads the file that appears after logon and before redirection to the
web URL. The display of the welcome page can be disabled or enabled in the captive portal profile.
z Content: The content page type allows you to upload all miscellaneous files that you need to reference from
your main captive portal login page. This can be used for images, CSS files, scripts or any other file that you
need to reference. These files are uploaded into the same directory as the top level captive portal page and
thus all files can be referenced relatively.
z Sygate Remediation Failure: This is available as part of the External Services Interface feature and is outside
the scope of this appendix.
Uploaded files can be referenced using:
https://<controller_IP>/upload/custom/<CP-Profile-Name>/<file>
Displaying Authentication Error Message
This section contains a script that performs the following tasks:
z When the user is redirected to the main captive portal login when there is authentication failure, the redirect
URL includes a query parameter "errmsg" which java script can extract and display.
z Store the originally requested URL in a cookie so that once the user has authenticated, they are automatically
redirected to its original page. If you don't want this feature, delete the part of the script shown in red.
<script>
{
function createCookie(name,value,days)
{
if (days)
{
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
var q = window.location.search;
var errmsg = null;
if (q && q.length > 1) {
q = q.substring(1).split(/[=&]/);
for (var i = 0; i < q.length - 1; i += 2) {
if (q[i] == "errmsg") {
errmsg = unescape(q[i + 1]);
break;
}
if (q[i] == "host") {