There are times you may want to restrict where your students can view their training. In the UKG Pro Learning solution you can do this per course for each defined unit in your academy. You can restrict access by IP address or physical address.
IP address | Physical Address |
Academy Admins can set up each Unit with multiple IP addresses (IPv4 and IPv6), either default IP addresses or Classless Inter-Domain Routing (CIDR). Provided IP addresses are stored in our database. | Academy Admins can set up each Unit with one Physical Address. The UKG Pro Learning solution validates the provided Physical Address using the Google Maps API. The Google formatted physical address, the latitude, and the longitude are stored in our database. |
What checks are performed in order to grant access to a course?
Check #1: Once an hourly worker accesses their course, the UKG Pro Learning solution checks if the user belongs to the units where the course has the Limited Access function enabled.
Check #2: If check #1 was successful, we can proceed with the evaluation of the IP match. The UKG Pro Learning solution gets the user's IP address and checks it against units' IP addresses with the IPset of a third-party library. If the user and the IP address of a unit match, the user is granted access to the course.
Check #3: If a user fails the IPs-matching and belongs to units where the course has limited access using the physical address option set up, then the UKG Pro Learning solution performs location matching.
- The Learning solution gets user coordinates (latitude and longitude and accuracy) by HTML 5 geolocation. HTML5 geolocation is the industry standard and a robust method for obtaining coordinates with high accuracy.
- The user must have set up the browser to allow location sharing, otherwise, the HTML5 geolocation fails. The user is prompted by the browser to allow location sharing with the Learning solution.
- If the user selects Don’t Allow, location-matching fails and the user is denied access to the course.
- If the user selects Allow Location Access, then the HTML 5 geolocation is applied successfully.
Check #4: The Learning solution tries to get user coordinates by HTML 5 geolocation with High Accuracy activated.
- If this fails, then the Learning solution tries to get user coordinates by HTML5 geolocation with High Accuracy deactivated.
- If both HTML5 geolocation attempts fail, then the user is denied access to the course.
Check #5: If the Learning solution successfully gets a set of coordinates, then it calculates the distance between the user’s coordinates and the unit’s coordinates. Distance is calculated via the Haversine formula.
- If the distance is smaller than [250m + the provided coordinates accuracy], then the user is granted access to the course. To ensure a valid result, [250m + provided coordinates' accuracy] must not exceed 2000m, as accuracy is an order of magnitude greater than the distance of 250m.
- If [250m + the provided coordinates accuracy] is greater than 2000m, then the maximum allowed distance is set to 2000m.
Other Considerations
- The user should provide device-level permission to access location data
- Check Settings >UKG Pro Learning app > Permissions > Location is active
- Log out and log back into the UKG Pro Learning app
- Physical address signal (GPS) should be accurate enough to determine the user’s location before allowing access to the course
- Open Google Maps (or a preferred map app) and press the locate button to ensure the device has the latest correct location
- If the signal isn’t accurate enough, access will be blocked (for example, desktop and an ethernet connection)
- For IPv6 we can aggregate all devices in a local network. (Special format input)
Troubleshooting tips
- If you have set up the IP Address:
To troubleshoot the IP Address location restriction, open an IP website and verify that the IP is in your device. Once you do so, verify that this is the exact same IP as the one that is connected to the unit. - If you have set up the Physical Address:
Please navigate to the HTML Geolocation API website and select try it. The provided pointer must be very close to the unit coordinates or the user will not be able to access the course.