FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Administración de Credenciales de Windows mediante Código
Buenas Club Delphi. Antes de nada disculpadme si el título no es lo suficientemente descriptivo. Pero bueno, vamos al lío. Estamos desarrollando una aplicación en Delphi XE2 cuyo cometido es acceder a un equipo en red local, buscar un archivo concreto y guardarlo en un directorio del equipo de destino (en la misma red local). Hasta aquí ningún problema. Resumo por si a caso:
La aplicación (instalada en el equipo 2) busca un archivo en el "servidor" (Equipo 1), y lo copia en una carpeta del Equipo 2. ¿Cual es el problema? Pues que uno de esos equipos de destino o "equipo 2" no tiene las credenciales de windows del Equipo 1 guardada en su almacén de credenciales. El usuario de ese equipo es incapaz de introducir las credenciales a mano, y yo tampoco tengo acceso. Así que me preguntaba si había alguna manera, e imagino que sí, de enviar las credenciales por código (Es decir, que mi aplicación introduzca las credenciales en el almacén de credenciales de windows sin intervención ninguna del usuario). Espero que se entienda lo que pregunto. Y ya por curiosidad ¿Es posible, de un modo similar, imagino que mediante la API, modificar una credencial almacenada? Muchas gracias por la atención y ya, de paso, por las millones de veces que sin saberlo vosotros me habéis sacado de un atolladero. Las respuestas de nlsgarcía, en concreto, son una pasada. Aunque uno no tenga la duda que ahí se expone, siempre son la mar de interesantes, y provechosas. Un auténtico crack Saludos. |
#2
|
||||
|
||||
Mendizabal,
¡Bienvenido al Club Delphi! Te sugiero revisar la Guía de estilo de los foros, recomendada a todos los nuevos ingresos al Club Delphi. ¡Gracias por tu cooperación! Saludos, Nelson. |
#3
|
|||
|
|||
Buenas a todos.
Al final enviamos a un técnico para que añadiera las credenciales "a mano". De todas formas, si a alguien se le ocurre alguna solución, se agradece cualquier sugerencia. Hacer desplazar a un técnico únicamente para eso es demasiado costoso. Por cierto, si el problema no está bien explicado puedo probar a hacerlo de nuevo. Saludos y gracias. |
#4
|
|||
|
|||
Perdón por encadenar dos mensajes seguidos en el mismo hilo, pero creo que a lo mejor a alguien puede interesarle esta información.
La siguiente función me permite logarme a un equipo remoto:
No es lo que estaba buscando puesto que ImpersonateLoggedOnUser() únicamente introduce las credenciales de forma temporal. Es decir, en ningún caso te permite modificar el almacén de credenciales de windows. De todas formas, hasta encontrar una solución mejor, puede servir para que mi programa realice la tarea para la que ha sido programado. Seguiremos investigando a ver si encontramos una forma de modificar el almacén de credenciales de windows. Creo que vamos por el buen camino, pero toda ayuda sigue siendo bienvenida. Links de interés: Si alguien necesita más información puede buscar: Saludos y gracias a todos. Última edición por nlsgarcia fecha: 08-01-2015 a las 13:33:50. Razón: Inclusión de Links por Limitación del Usuario (Menos de 10 mensajes publicados) |
#5
|
||||
|
||||
Mendizabal,
Cita:
Cita:
No he podido revisar tu caso, ciertamente me parece muy interesante , en lo que pueda lo voy a revisar y si logro alguna solución la publico Saludos, Nelson. |
#6
|
|||
|
|||
Buenas Club Delphi,
Esta tarde he tenido un rato libre (bendito lujo), y he logrado solucionar el problema. En realidad, como veréis, la cosa es mucho más sencilla de lo que parecía. Únicamente hacía falta tener un poco de tiempo para investigar. Os dejo una función de ejemplo por si alguien le sirve en el futuro:
Hay que tener en cuenta que he tenido que utilizar la librería "JEDI Windows API" que traduce las funciones avanzadas de la API de Windows a DELPHI. No es mayor problema, ya sabemos que la gente de PROJECT JEDI hace un fabuloso trabajo traduciendo cabeceras de C a DELPHI. En fin, en definitiva, hay que llamar a JwaWinCred. Por cierto, la variable CREDENTIALS es del tipo CREDENTIALW (contenida en JwaWinCred). Links de interés (Por favor, que algún moderador formatee bien los enlaces. Es en atención a posibles usuarios interesados en este tema. Muchas gracias): Muchas gracias a todos por la atención. Espero que esta información le resulte útil a alguien. Última edición por nlsgarcia fecha: 12-01-2015 a las 17:57:05. Razón: Inclusión de Links por Limitación del Usuario (Menos de 10 mensajes publicados) |
#7
|
||||
|
||||
Mendizabal,
Cita:
Nelson. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear una consola de administración (msc) para Windows | fide_uci | API de Windows | 5 | 13-04-2011 19:00:32 |
Enviar fax mediante código | vivamotos | C++ Builder | 0 | 08-07-2010 12:31:54 |
Cambiar permisos de carpeta en windows mediante código | vivamotos | C++ Builder | 0 | 12-08-2008 09:20:07 |
nesecito un Realizar EXE mediante codigo | limbertx | Varios | 8 | 21-10-2007 23:40:32 |
ODBC mediante codigo | sakuragi | Conexión con bases de datos | 2 | 04-12-2004 09:34:15 |
|