ver usuarios usuario usa saber requisitos que promocion previos para logueado esta error donde dominio controlador conectados computadora comprobacion como active c++ winapi testing login user

c++ - usuarios - LogonUser() no autentica al usuario para un dominio no válido cuando la computadora no está en un dominio



error de comprobacion de requisitos previos para la promocion del controlador de dominio (2)

Según este sitio, debes usar un "." (o "", pero esto no está documentado) como dominio para usar solo la base de datos local. Creo que el comportamiento no documentado de "" explica su inicio de sesión. Si no identifica al usuario en el dominio, intentará identificarlo localmente.

Basé mi respuesta en esta página: http://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx

Tengo algunos problemas con la función de la API de LogonUser () en C ++. La computadora en la que estoy probando esto no está en un dominio. La cuenta con la que estoy probando existe en la computadora, pero cuando proporciono un dominio no válido, autentica el inicio de sesión.

Esto no me parece correcto.

HANDLE token; if (!LogonUser("LocalUser", "InvalidDomain", "Password", LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &token)) { unsigned long error = GetLastError(); }

¿Es este el comportamiento correcto?


Creo que los miembros del grupo de trabajo no admiten inicios de sesión de dominio, por lo que se ignora el parámetro de dominio. Esto explica lo que estás viendo.

Puedes confirmar esto Intente autenticarse utilizando un usuario de dominio real (asegurándose de que no haya una cuenta local con el mismo nombre). El inicio de sesión debería fallar.

Hay una excepción Si usa el indicador LOGON32_LOGON_NEW_CREDENTIALS (que modifica el inicio de sesión existente en lugar de crear uno nuevo), un inicio de sesión de dominio siempre tendrá éxito porque no se autentica hasta que intente acceder a un recurso remoto.