2016-11-09 4 views
0

Erstellt eine Beispielanwendung mit einer ASPX-Seite und Manager-Klasse. Während ich es von vs Studio aus laufe, werde ich richtig ausgegeben. Wenn ich es veröffentlichen und diese Dateien in interpub -> wwwroot -> Neuer Ordner und geöffneten IIS-Manager setzen, konvertiere Neuen Ordner zur Anwendung und führe ihn aus. Es ist fehlgeschlagen, zeigt einen Fehler an, der nicht mit db verbunden werden kann und den Computernamen anzeigt.SQL-Windows-Authentifizierung funktioniert nicht nach dem lokalen Hosting

Ich denke nach dem Hosting-Anwendung versucht, db mit Computernamen statt Benutzernamen zu verbinden. Wie löst man das? Ich füge unten meine web.config Datei und Manager Klassendatei hinzu.

web.config

<configuration> 
<system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5" /> 
</system.web> 
<connectionStrings> 
<add name="TestConnection" connectionString="data source=localhost\alex;initial catalog=Alex_Test; integrated security=SSPI; persist security info=False; Trusted_Connection=Yes"/> 
</connectionStrings> 
</configuration> 

Manager.cs

string Connection = ConfigurationManager.ConnectionStrings["TestConnection"].ToString(); 
SqlConnection conn = null; 
SqlCommand command = new SqlCommand();   
SqlDataAdapter sqlDataAdapter = null; 
conn.Open(); 
command.Connection = conn; 
sqlDataAdapter = new SqlDataAdapter("SELECT FirstName,LastName FROM Employees ", conn); 
dataSet = new DataSet(); 
sqlDataAdapter.Fill(dataSet, "Employees"); 

Antwort

1

Entweder Zuschuss/verleihen Ihrem IIS Benutzer für den Arbeiter Zugriff auf die Datenbank oder Sie können Ihre web.config ändern connection explizit zu verwenden, Benutzername und Passwort.

Server=serverAddr;Database=dbName;User Id=Username; 
Password=Password; 
+0

Dank ländern zu deaktivieren. Können Sie erklären, wie Sie dem IIS-Benutzer Zugriff auf die Datenbank erteilen können? –

+0

MSDN verfügt über einen entsprechenden Link. Ihr Kilometerstand kann je nach Konfiguration variieren und ob Sie MSSQL mit SQL Management Studio verwenden. https://technet.microsoft.com/en-us/library/ms172405(v=sql.105).aspx – Landern

0

Ich habe web.config lokal bereitgestellten Code durch Hinzufügen von unten Code geändert.

<authorization> 
<deny users="?"/> 
</authorization> 
<identity impersonate="true" userName="userName" password="password" /> 
</system.web> 
<system.webServer> 
<validation validateIntegratedModeConfiguration="false" /> 
</system.webServer> 

und geänderte IIS-Authentifizierungseinstellungen -> Anonyme Authentifizierung

Verwandte Themen