7 votos

El manejo de la contraseña de usuario de entrada en ArcPy scripts?

Actualmente estoy tratando de escribir un guión que tiene un nombre de usuario y contraseña de entrada que, a continuación, devuelve los datos si el usuario tiene acceso adecuado. El script funciona bien cuando me codificar mis propias credenciales.

El problema que tengo es que no sé cómo la máscara de entrada de contraseña mediante la opción "Agregar Script" asistente. Parece que hay una opción para aceptar una Cadena Cifrada como un parámetro, que parece ser lo que quiero, pero no puedo encontrar ninguna documentación sobre cómo utilizar el GPEncryptedString clase dentro de Python. Cuando intento extraer el parámetro con arcpy.getParameterAsText(), sólo devuelve un montón de asteriscos como un valor de cadena que, obviamente, se me hace ningún bien.

Incluso he intentado sólo en poner mi propio nombre de usuario/contraseña de diálogo, pero los scripts tienen que estar corriendo con el "Siempre en primer plano" la opción por los arcpy.la cartografía.MapDocument("ACTUAL") de comandos para que funcione correctamente, que constantemente se roba el foco de mi cuadro de diálogo.

Esto parece realmente un problema simple, pero yo no soy así encontrar toda la documentación en cualquier lugar de este problema y ahora he pasado más tiempo tratando de averiguar una forma de enmascarar la contraseña de entrada que pasé en la secuencia real en sí.

10voto

Galbrezu Puntos 142

A partir de la Versión 10.2.1 ahora hay una Cadena Oculta parámetro que se enmascara el texto en la interfaz de usuario. Este parámetro NO cifrar. Sólo oculta los caracteres de la pantalla.

La cadena cifrada parámetro es sólo para su uso con herramientas que buscan una cadena cifrada, tales como el Crear archivo de Conexión de ArcSDE herramienta. Si estás pasando un "regular" contraseña a algo más en su herramienta (no esri que quiere una contraseña), su única opción es la Cadena.

Hemos tenido discusiones internas con respecto a la creación de un nuevo tipo de parámetro, algo así como "oculto cadena", que actuaría como string, pero la máscara de los caracteres en el cuadro de diálogo. Sin embargo, es enviar la contraseña en texto claro detrás de la escena. En este momento eso es todo, sólo hemos hablado de ello ya que no ha habido una gran demanda. Me animo a subir votación de esta idea: http://ideas.arcgis.com/ideaView?id=087E00000004GQSIA2

[Descargo de responsabilidad: yo trabajo en Esri en el Equipo de Geoprocesamiento]

3voto

Swim Puntos 636

Probablemente usted no puede obtener el parámetro de texto. Simplemente llame a arcpy.GetParameter (), que devuelve un objeto que es una cadena cifrada. Todas las herramientas de ArcGIS como SDE las conexiones deben utilizar esa cadena cifrada sin problema. Si usted puede obtener el parámetro de texto que acabaría con el propósito de cifrado. Si usted podría descifrar, entonces usted puede guardar su contraseña a un archivo, correo electrónico, etc. Ha intentado usted acaba de pasar la cadena cifrada para el resto del código? De acuerdo a toda la documentación que he encontrado, todo debería funcionar. Si usted necesita la contraseña como texto por otra razón, entonces usted no debe ocultar que a partir de sus usuarios, ya que es un riesgo de seguridad en ese punto porque usted tiene la contraseña como texto sin formato.

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