Deaktivieren der SQL-Mitgliedschaftsanbieter - (ASP.Net Forms-Authentifizierung)
Ich habe setup eine triviale Album Vorhören website für einen Kunden, der braucht grundlegende Passwort-Schutz. Ich bin mit der Forms-Authentifizierung mit den Anmeldeinformationen angegeben in web.config
.
Alles funktioniert gut auf meine box (berühmte Letzte Worte)
Allerdings, wenn ich den Einsatz in einer Produktions-Webseite läuft Win2008, die Authentifizierungs-code versucht zu öffnen Sie eine SQL Server-Datenbank (ich habe keine Referenz zu irgendetwas SQL in web.config
). Wie kann ich dieses Verhalten deaktivieren, so dass die Authentifizierung basierend auf den Anmeldeinformationen, die ich eingegeben habe in web.config
?
Ausnahme im Ereignisprotokoll
Nicht in der Lage, eine Verbindung zu SQL Server-Datenbank.
System.Web.Management.SqlServices.GetSqlConnection(String server, String Benutzer, String password, Boolean trusted, String connectionString)
System.Web.Management.SqlServices.SetupApplicationServices(String server, String Benutzer, String password, Boolean trusted, String connectionString, String Datenbank, String dbFileName, SqlFeatures Funktionen, Boolesche installieren)
System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String dateinamelang, String dataDir, String connectionString)
System.Web.DataAccess.SqlConnectionHelper.EnsureSqlExpressDBFile(String connectionString)
...
System.Daten.SqlClient.SqlConnection.Open() bei System.Web.Management.SqlServices.GetSqlConnection(String server, String Benutzer, String password, Boolean trusted, String connectionString)
http://my.site.com/Login.aspx?ReturnUrl=/
web.config (relevanter Teil)
<system.web>
<compilation targetFramework="4.0" />
<authentication mode="Forms">
<forms name="appNameAuth" path="/" loginUrl="Login.aspx" protection="All" timeout="30">
<credentials passwordFormat="SHA1">
<user name="me" password="SHA1OfMyPassword" />
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
<allow users="me" />
</authorization>
</system.web>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellt sich heraus, dass auf der Produktions-Maschine, die SQL-Mitgliedschaftsanbieter definiert wurde, in der Maschine.config. Ich glaube nicht, dass das ops-team änderte sich etwas von der Standard-Windows 2008 installieren, so dass wahrscheinlich in der Regel der Fall für diese Plattform.
Entfernen Verweise auf SQL-Anbieter definiert, die auf einer höheren Ebene gehören die folgenden in Ihrer Website.config