Programmatic access to connect to a wifi network
This should do it, although it may need some modification. Every time a user switches, a system log entry is created. Knowing this, you can monitor for user switches quite effortlessly:

global wifi_device
on run
    set wifi_device to do shell script "networksetup -listallhardwareports|grep -A1 'Wi-Fi'|grep Device|sed 's;Device: ;;'"
end run
on idle
    set user_name to do shell script "tail -n0 -f /var/log/system.log|grep -om1 'context values set for .*'|sed -e 's;context values set for ;;'"
    if user_name is equal to "presaccount" then
        do shell script "networksetup -setairportnetwork " &amp; wifi_device &amp; " presaccount_network password"
    else if user_name is equal to "other_account" then
        do shell script "networksetup -setairportnetwork " &amp; wifi_device &amp; " other_account_network password"
    end if
    return 1
end idle


Just change the network names, passwords, and account names to whatever you need them to be.

Basically, we're checking for the log entry containing "context values set for", which occurs on every switch, and contains the username switched to. We use this username to determine which network to join, and that's it! I'd recommend only allowing admins to change the wifi network in system preferences. This actually uses nearly no resources, because the script cannot continue past the first line, until a user switches. Keep in mind that this was done on 10.11. I can't verify if the log entry is present on 10.10, so YMMV. You'll have to save this as a stay-open app in Script Editor.