При использовании прозрачной авторизации пользователей по протоколу Kerberos существует возможность автоматизировать авторизацию пользователей на captive-портале UserGate в момент их авторизации на ПК и сброс авторизации на UserGate в момент завершения их сессии на ПК.
Для этого используется штатные механизм logon и logoff скриптов Windows и механизм Group Policy домена Active Directory (см. документацию Microsoft).
В качестве скрипта автоматической авторизации предлагается следующий вариант скрипта PowerShell:
$ Responce = Invoke- WebRequest -Uri http://detectportal.firefox.com/ -Proxy 'http://auth.trusted.com:8090' - ProxyUseDefaultCredentials Write-Host $ Responce.StatusDescription
где auth.trusted.com - домен Auth captive-портала, настроенный на UserGate в разделе UserGate --> Настройки --> Модули;
http://detectportal.firefox.com/ - любой доверенный, гарантированно доступный Интернет-ресурс, предпочтительно HTTP, а не HTTPS.
В качестве скрипта автоматического сброса сессии авторизованного на UserGate пользователя предлагается следующий вариант скрипта PowerShell:
$Session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$Cookie = New-Object System.Net.Cookie
$ Cookie.Name = ' csrf_token'
$ Cookie.Value = 'foo'
$ Cookie.Domain = 'logout.trusted.com'
$ Session.Cookies.Add($Cookie);
$Body = @{
csrfmiddlewaretoken = 'foo'
$ Responce = Invoke- WebRequest -Uri http://logout.trusted.com:8002/cpa/logout -Method POST -Body $Body - WebSession $Session Write-Host $ Responce.StatusDescription
где logout.trusted.com - домен Logout captive-портала, указанный на UserGate в разделе UserGate --> Настройки --> Модули.
В случае, когда доменными политиками определено использование нескольких logon/logoff скриптов, рекомендуется указанный logoff-скрипт использовать последним, а logon-скрипт - ближе к началу списка.