The Bluesocket vWLAN server comes with a default login screen, however there may be a desire to personalize or completely revamp this screen. This guide aims to provide the basic steps for customizing (or creating) a login where a user simply clicks a button to login. The user does not have to input any login credentials. Optionally, the user can be forced to accept terms of service before continuing.
Even though the end user will not input any information at the splash screen, a login action still occurs as far as vWLAN is concerned. The custom code below will contain a username and password that is input automatically when the end user clicks a button. This means an internal user must be created to facilitate this application. This user will be used for the single sign on page login. When a user “clicks” the “I Accept the Terms & Conditions button, they will essentially be logging in with this local user. This example illustrates creating a user with the name “guest” and password “guest”. To create the internal user, browse to Configuration > Internal Authentication > Users and click Create Internal User. In this example the username should be guest and the password is also guest. Assign this to a pre-configured role for guest users.
You can add your own text, images, or multimedia files to the HTML displayed on the login menu. These files are uploaded under Configuration > Captive Portal > Items. You will need to note the path for the web login page as indicated in Figure 2.
You will need to configure the basic login form settings: name, authentication methods, and the login attempts. To specify the login form settings, follow the steps outlined below.
After configuring the these basic settings, you can configure the visual elements of the login form.
Specify the customized HTML that will appear on the right of the login menu in the appropriate field.
Enter the custom HTML above into the “Right side customization HTML” box (above).
|
Any items in red should be modified. It is important to note the following lines.
The bs_name and bs_password are passed to (https://<vWLAN IP Address>/login.pl) thus allowing the client to authenticate transparently. The bs_name and bs_password values are associated with the previously configured internal user. The img src path and filename can be found above in the “Upload Image File” Section.
When the HTML has been modified, click the “Create Login Form” button.
Optional Checkbox Validation to Require Accepting Terms of Service (ToS)
There may be a desire to use a checkbox to validate that I user accepts the ToS. This requires minor changes to the HTML above. Notably it requires that a checkbox be added as well as a means to validate the checkbox. This example uses a small javascript to accomplish the task. First, replace the form method line in the example above.
Next, insert the checkbox into the form between <form> and </form>.
Finally, add the following script to the bottom of the existing code
Additional Configuration Requirements
Captive Portal Authentication, in general, requires a few addition considerations. The SSID must use the Un-registered role in order to redirect client traffic. Be sure create or edit an existing SSID under Configuration > Wireless > SSIDs, and select the Un-registered role. While editing the SSID, you can also select the Login Form. If this is the only SSID will use this form, then select the form created above. You can also choose to "Default from AP Template" which will automatically select the form assigned in the AP Template assigned to the AP to which you will connect.
To test the configuration, simply connect a client to the SSID, open a web browser, and try to access any web page. The client should be redirected to the terms of service page. If a certificate warning is present, either continue or add an exception, and from that time forward the client will only be prompted with the acknowledgment/disclaimer screen (for more information on eliminating certificate errors, check out the guide on how to Install and Renew SSL Cert vWLAN Version 2.2.1 and Later). Shown below is the screen created in this example.