1 votos

No se puede iniciar sesión con otra cuenta de usuario de ArcGIS Portal utilizando la API de ArcGIS Python

Tengo una cuenta de inicio de sesión en ArcGIS Portal (cuenta de visor) en una infraestructura SIG empresarial y quiero utilizar la API Python de ArcGIS para conectarme con una cuenta de administrador independiente y poder generar informes sobre la instancia de ArcGIS Portal (capas que se utilizan en los mapas web, estadísticas del último inicio de sesión del usuario, etc.).

Cuando intento conectarme utilizando una cuenta de administrador, se conecta automáticamente con mi cuenta de espectador (supongo que mi cuenta está autorizada automáticamente de alguna manera dentro de mi red).

¿Cómo puedo iniciar sesión explícitamente con una cuenta diferente utilizando la API Python de ArcGIS?

Mi guión está más abajo:

from arcgis.gis import GIS
import getpass

password = getpass.getpass("Enter password: ")
gis = GIS("https://myserver", "myadminaccount", password)
print("Connected as: " + gis.properties.user.username + " on " + gis.properties.customBaseUrl)
print(gis.properties.user)

0voto

dfg Puntos 388

Hay una biblioteca python específica que debe importar:

# import the GIS class in gis module
from arcgis.gis import GIS

Te sugiero que para los siguientes fragmentos de código utilices la función de impresión para que sepas con qué cuenta estás iniciando sesión, y qué código afecta a tus credenciales para que lo entiendas perfectamente.

Puedes imprimir el nombre de usuario con el que has iniciado sesión (sólo para asegurarte mientras realizas pruebas o solucionas problemas):

print("Logged in as " + str(gis.properties.user.username))

Para iniciar sesión con una cuenta integrada, utilice el código siguiente (para una cuenta configurada en ArcGIS Server en usuarios y con un rol asignado):

print("Portal for ArcGIS as a built in user")
gis = GIS("https://portalname.domain.com/webadapter_name", "sharinguser", "password")
print("Logged in as: " + gis.properties.user.username)

Si desea iniciar sesión con autenticación Web-tier, utilice el siguiente código:

print("\n\nBasic Authentication with LDAP")    
ldapbasic = GIS("https://portalname.domain.com/webadapter_name", "amy", "password")
print("Logged in as: " + ldapbasic.properties.user.username)

Si desea utilizar las credenciales de inicio de sesión de la cuenta del Portal, utilice el código siguiente:

print("\n\nPortal-tier Authentication with LDAP - enterprise user")
gisldap = GIS("https://portalname.domain.com/webadapter_name", "AVWORLD\\Publisher", "password")
print("Logged in as: " + gisldap.properties.user.username)

Y si desea utilizar Portal con LDAP (por lo que su cuenta de red que tal vez se refiere) a continuación, utilice este código:

print("\n\nPortal-tier Authentication with LDAP - builtin user")    
gisldap = GIS("https://portalname.domain.com/webadapter_name", "sharing1", "password")
print("Logged in as: " + gisldap.properties.user.username)

Si no tiene éxito con lo anterior, o tiene un patrón de autorización diferente siga este enlace:

https://developers.arcgis.com/python/guide/working-with-different-authentication-schemes/

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X