CÓMO

Utilizar el puente JDBC-ODBC para implementar la autenticación de ArcIMS con SQL Server 2000/2005

Last Published: April 26, 2020

Resumen

Las instrucciones proporcionadas describen cómo utilizar la autenticación Java Database Connectivity (JDBC) con una base de datos de Microsoft SQL Server.

Procedimiento

Verifique que los siguientes productos de software estén instalados antes de seguir estas instrucciones:
- ArcIMS 9.x
- SQL Server 2000/2005
  1. Inicie Enterprise Manager/Management Studio y cree una nueva base de datos denominada 'ArcIMS_ACL'.
  2. Cree dos tablas, una denominada 'acl_users' y la otra denominada 'acl_permissions'.

    'acl_users' contiene la lista de nombres de usuario y contraseñas de las personas, a las que se les otorga acceso a los servicios de mapas. También contiene un Id. de usuario único que ArcIMS utiliza para relacionar esta tabla con la tabla 'acl_permissions'.

    'acl_permissions' asocia cada servicio de mapas con uno o varios nombres de usuario y contraseñas. Está vinculada a la tabla 'acl_users' utilizando el campo 'userid'.
     
    A. Agregue tres campos a la tabla 'acl_users' con las siguientes propiedades:

    Nombre de columna: userid
    Tipo de datos: int
    Longitud: 4

    Nombre de columna: username
    Tipo de datos: nvarchar
    Longitud: 64

    Nombre de columna: password
    Tipo de datos: nvarchar
    Longitud: 64

    B. Agregue, como ejemplo, los siguientes valores como un registro único y guarde los cambios.

    userid = 1
    username = test
    password = pass

    C. Agregue siete campos a la tabla 'acl_permissions' con las siguientes propiedades:

    Nombre de columna: userid
    Tipo de datos: int
    Longitud: 4

    Nombre de columna: service
    Tipo de datos: nvarchar
    Longitud: 64

    Nombre de columna: active
    Tipo de datos: int
    Longitud: 4

    Nombre de columna: expiration
    Tipo de datos: smalldatetime
    Longitud: 4

    Nombre de columna: tclients
    Tipo de datos: nvarchar
    Longitud: 16

    Nombre de columna: ftags
    Tipo de datos: nvarchar
    Longitud: 16

    Nombre de columna: roles
    Tipo de datos: nvarchar
    Longitud: 16

    Deje todas las demás propiedades de campo en blanco o en sus valores predeterminados.

    D. Agregue, para este ejemplo, los siguientes valores.

    userid = 1
    service = <EnterServiceNameHere>
    active = 1

    Deje el resto de campos en blanco.
    Nota: Para obtener más información sobre las restricciones de servicio definidas en este ejemplo, consulte la documentación de la Ayuda de ArcIMS en "Habilitar la autenticación con un ACL basado en JDBC" o "Referencia de atributo ACL".
    E. Otorgue a un usuario de SQLServer nuevo o existente permisos de acceso a la nueva base de datos y a las tablas. El usuario sa (administrador del sistema) se utilizará en este artículo.
  3. Cree una conexión ODBC a SQL Server.
     
    A. Inicie el Administrador de ODBC en el mismo equipo en el que esté instalado el Conector Servlet de ArcIMS:

    Haga clic en Inicio > Configuración > Panel de control > Herramientas administrativas > Fuentes de datos (ODBC).
    B. Seleccione, en el cuadro de diálogo Administrador de ODBC, la pestaña 'DSN del sistema' (nombre de la fuente de datos) y haga clic en Agregar.
    C. Seleccione SQL Server y haga clic en Finalizar.
    D. Introduzca el nombre 'ArcIMS_ACL' y la información necesaria para conectarse a la instancia de SQL Server. Seleccione la autenticación de SQL Server y coloque el nombre de usuario y la contraseña del usuario sa o el usuario correspondiente, que sea el propietario de las tablas creadas.
    E. Seleccione la base de datos creada en el Paso 1, 'ArcIMS_ACL'.
    F. Confirme que la conexión se haya agregado a la pestaña 'DSN del sistema' del Administrador de ODBC.
  4. Modifique el archivo Esrimap_prop.
    A. Navegue hasta la ubicación del archivo 'Esrimap_prop' en el directorio del Conector Servlet de ArcIMS asociado con el servidor web/motor servlet.

    Para ServletExec:
    <drive>:\Archivos de programa\New Atlanta\ServletExec ISAPI\Servlets
    Para Tomcat:
    <drive>:\<Tomcat Install Location>\webapps\servlet\WEB-INF\classes

    B. Cambie el nombre del archivo existente 'Esrimap_prop' a 'Esrimap_prop_original' para realizar una copia de seguridad.
    C. Copie el archivo 'Esrimap_prop_original' y cambie el nombre de la copia a 'Esrimap_prop' en la misma ubicación.
    Nota: La configuración original del archivo 'Esrimap_prop' se almacena en el archivo de copia de seguridad 'Esrimap_prop_original'.
    D. Edite o confirme, en el nuevo archivo 'Esrimap_prop', los siguientes atributos y valores:
    Nota: Es posible que sea necesario activar algunos atributos eliminando el símbolo # de comentario.
    Código: authenticate=True authMethods=Basic authenticateWithSessions=True useJdbc=True jdbcDriver=sun.jdbc.odbc.JdbcOdbcDriver jdbcUrl=jdbc:odbc:ArcIMS_ACL jdbcUser=<user> jdbcPassword=<password> jdbcPermTable=acl_permissions jdbcUserTable=acl_users jdbcUidColumn=userid
    Nota: El valor de jdbcDriver 'sun.jdbc.odbc.JdbcOdbcDriver' hace referencia a la clase de Java que contiene la funcionalidad del puente JDBC-ODBC. Se incluye con JRE/JDK. El valor de jdbcUrl 'jdbc:odbc:ArcIMS_ACL' es una sintaxis estándar para hacer referencia al DSN del sistema ODBC que utiliza el puente JDBC-ODBC.
    Nota: Tenga en cuenta que no se requiere un usuario jdbc y una contraseña al utilizar una base de datos de Access. Consulte la documentación de la Ayuda de ArcIMS en "Habilitar la autenticación con una ACL basada en JDBC" para obtener más información sobre los atributos y valores.
    Nota: Es posible utilizar un controlador JDBC de terceros. Por ejemplo, los controladores JDBC de Oracle o Microsoft pueden conectarse directamente al RDBMS. Estos controladores a menudo se pueden encontrar en los sitios de soporte correspondientes de los fabricantes de software. Cuando utilice estos controladores, asegúrese de que el controlador esté disponible en el directorio de biblioteca común del motor servlet. Por ejemplo, Tomcat mantiene el directorio de biblioteca común en $CATALINA_HOME/common/lib. En la mayoría de los casos, copie uno o más archivos JAR asociados con el controlador JDBC en este directorio.
    E. Guarde el archivo Esrimap_prop.
    F. Reinicie el servidor web y el motor servlet.
    Nota: Si utiliza IIS como servidor web, puede ser necesario configurar IIS para la autenticación. Para obtener más información, consulte el paso 8 del tema Ayuda de ArcIMS, "Habilitar la autenticación con una ACL basada en JDBC".

Id. de artículo:000008412

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Descubrir más sobre este tema