Краткая информация
Позволяет выполнять вход на портал.
Обсуждение
Для публикации ресурсов или запуска готовых к использованию инструментов вы должны войти на портал. Это может быть портал ArcGIS Enterprise или ArcGIS Online.
Чтобы добавить подключение к порталу, щелкните вкладку Проект на ленте, а затем - страницу Порталы. Подробнее см. раздел Управление подключениями портала в ArcGIS Pro.
SignInToPortal добавит URL портала к вашим подключениям к порталу (при необходимости), войдите и сделайте портал активным. При запуске в окне Python портал будет задан как активный (при отличии) и добавлен к подключениям к порталу для будущих сеансов ArcGIS Pro или автономных сеансов Python. Но если он будет запущен в отдельном сеансе Python, то информация портала будет использоваться только в течение активного сеанса Python. Если портал активный и вход в него выполнен, то запускать функцию SignInToPortal не нужно. При выполнении скрипта в ArcGIS Pro или вне его автоматически используется текущий активный портал.
При входе в систему в качестве пользователя портала или с помощью учетной записи на основе следующих поддерживаемых конфигураций проверки подлинности портала могут потребоваться другие параметры:
- Если портал использует встроенную систему безопасности, укажите имя пользователя и пароль.
- Если на портале используется аутентификация инфраструктуры открытых ключей (PKI), укажите файл сертификата в формате PKCS12 (.pfx или .p12) и пароль сертификата.
Вы также можете предоставить сертификат в формате PEM и файл ключа. Оба файла, и сертификат, и ключ, имеют расширение .pem.
- Если на портале используется встроенная проверка подлинности (IWA) Windows, оставьте параметры имени пользователя и пароля пустыми. Предоставление имени пользователя Windows и пароля не поддерживается.
Вход на портал, использующий IWA или PKI, не поддерживается на компьютере Linux.
Синтаксис
SignInToPortal (portal_url, {username}, {password}, {cert_file}, {key_file}, {token}, {token_referer}, {token_expiry})
Параметр | Описание | Тип данных |
portal_url | The URL of the portal to sign in to. | String |
username | The username of the user signing in to the portal. If the portal uses IWA, leave this parameter empty. You can only sign in as the current Windows user. | String |
password | The password of the user signing in to the portal. If the portal uses PKI authentication, use the password to the PKCS12 certificate file. If the portal uses IWA, leave this parameter empty. | String |
cert_file | The path to the certificate file. If the portal uses PKI authentication, use the path to the PKCS12 formatted certificate file (.pfx or .p12) or the PEM formatted certificate file (.pem). | String |
key_file | The path to the key file. If the portal uses PKI authentication, use the path to the PEM formatted key file (.pem). | String |
token | The token that will be used to authenticate with the portal. An ArcGIS portal token can be created using any of the following:
When using a token to authenticate, the token, token_referer, and token_expiry values must be specified. | String |
token_referer | The referer that will be used to generate the token (if applicable). | String |
token_expiry | The expiration time stamp for the token. This is a value measured in the number of seconds since epoch. Примечание:The API that produces the token may return the expiry value in seconds or milliseconds. | Integer |
Тип данных | Описание |
Dictionary | Словарь пар ключевых значений для значений expires, referer и token. |
Пример кода
Вход на портал, использующий встроенную систему безопасности.
import arcpy
arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname",
'username', 'password')
Вход на портал, который использует инфраструктуру открытых ключей (аутентификацию PKI), используя файл сертификата в формате PKCS12 (.pfx или .p12) и пароль.
import arcpy
arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname",
cert_file="C:\\path\\to\\mycert.pfx",
password="cert.password")
Вход на портал, который использует инфраструктуру открытых ключей (аутентификацию PKI), используя файл сертификата в формате PEM (.pem) и файл ключа (.pem).
import arcpy
arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname",
cert_file="C:\\path\\to\\mycert.pem",
key_file="C:\\path\\to\\mykey.pem")
Вход на портал, который использует встроенную аутентификацию Windows (IWA), указав имя пользователя и пароль.
import arcpy
arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname")
Войдите в портал, используя токен, полученный с помощью конечной точки generateToken REST портала ArcGIS.
import arcpy
import requests
# assemble arguments into a dictionary
# for additional help on the generateToken REST service, see your portal documentation
portal_url = "https://example.com/portal/"
gen_token_url = f"{portal_url}sharing/rest/generateToken"
params = {"f": "json", # Response format
"username": "username", # Your ArcGIS Portal username
"password": "password", # Your ArcGIS Portal password
"referer": gen_token_url, # URL of the referring application (usually your portal)
"expiration": 60 # Token expiration time in minutes (default: 60)
}
# get a token using python's requests module
resp = requests.post(gen_token_url, data=params)
# check response. If failed, show response.text
assert resp.status_code == 200, resp.text
# now use token with SignInToPortal
token = resp.json()['token']
token_expiry = int(resp.json()['expires']/1000) # convert to seconds since generateToken returns milliseconds
resp = arcpy.SignInToPortal(portal_url, token=token, token_referer=portal_url, token_expiry=token_expiry)
Войдите на портал, используя пароль, сохраненный в Windows Credential Manager.
import arcpy
import keyring
portal = "https://example.com/portal/"
username = "user"
password = keyring.get_password(portal, username)
arcpy.SignInToPortal(portal, username, password)