.net - que - definicion de identificador unico incompleta
Seguridad integrada de SQL usando el nombre de la computadora en lugar del nombre de usuario (3)
Esto se debe a que su servidor web no está configurado para usar la identidad de la persona que usa el servicio, sino la identidad de la computadora en la que se está ejecutando.
Compruebe si su web.config para el servicio web contiene: <authentication mode="Windows" />
Estoy intentando una instancia de SQL Express en la misma red, autentificando con mi usuario de dominio. Funciona bien con la autenticación de Windows en SSMS. Verifiqué que puedo usar la base de datos MyDB, incluidas las tablas de edición.
Sin embargo, cuando intento la siguiente cadena de conexión:
Server=ipaddress/SQLExpress; Database=MyDB; Integrated Security=SSPI;
Vuelvo un error:
Cannot open database "MyDB" requested by the login. The login failed. Login failed for user ''ROMANIA/MONSTER2$''
El problema es que MONSTER2 es el nombre de mi computadora, no mi nombre de usuario. (RUMANIA es el dominio.) ¿Qué estoy haciendo mal?
[Editar] Olvidé algo que podría ser relevante: estoy intentando abrir la conexión desde un servicio web que se ejecuta en mi computadora.
Necesitaba hacer ambas cosas en mi situación:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
<identity impersonate="true" />
Su servicio web se ejecuta en el contexto de seguridad de NT AUTHORITY/Network Service
. Esto hará que el proceso utilice la cuenta de la máquina del host cuando acceda a los recursos de red en el dominio.
Tendrás que configurar el servicio web para que se ejecute con tu identidad de dominio.
Si está alojando su servicio web en IIS, puede hacerlo a través de la impersonation . Aquí hay un ejemplo:
<configuration>
<system.web>
<identity
impersonate="true"
userName="ROMANIA/username"
password="********" />
</system.web>
</configuration>