Die diversen RoleManagement-Featues von ASP.NET 2 erfordern natürlich irgendwo einen Ort, wo die verschiedenen Benutzerdaten, Rollen usw. gespeichert werden. Per default ist das momentan eine in der machine.config definierte SQL-Server-Express-Datenbank, die beim Anlegen von Benutzern usw. im „ASP.NET Web Application Administration“ Center automatisch in das App_Data-Verzeichnis der eigenen Applikation kopiert wird.

Möchte man nun eine neue oder bestehende Datenbank verwenden, und nicht ein extra SQLExpress-File, muss man wie folgt vorgehen:

  • Datenbank anlegen, sofern notwendig
  • Über den SDK-Commandprompt „aspnet_regsql“ aufrufen, die Datenbank auswählen und den Wizard einfach abschließen – in diesem Schritt werden die notwendigen Tabellen und Stored Procedures usw. In der definierten Datenbank angelegt.
  • In die web.config der Applikation gehen und den in der machine.config definierten ConnectionString bzw. DefaultProvider entfernen/überschreiben:


    "LocalSqlServer"
/>
    "LocalSqlServer" connectionString="Data Source=CBC05VPC\CBC05;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=pass" providerName="System.Data.SqlClient"/>

  • Aus Visual Studio heraus unter Website/ASP.NET Configuration o.g. Webadmin-Tool aufrufen
  • Unter Security den Authentication Type auswählen, Benutzer und Rollen anlegen ... fertig.

Ergebnis: die Daten werden von nunan in der selbst definierten Datenbank gehalten, und nicht in dem SQL Express-File, wie per default.

Kommentare

#1 Alex schrieb am Freitag, 27. Oktober 2006 13:00:00:
Hallo Thomas,
eine grundsätzliche Frage:
wenn ich entweder deine fremden DB oder wie gewohnt die normale ASPNETDB.MDF benutzen möchte.... muss der IIS auf dem Zielrechner eigentlich den SQL Express Server installiert haben oder kann das .NET Framework 2.0 auch standalone die MDF Datei auslesen? Also reicht es aus, wenn ich auf dem IIS das 2.0 Framework installiere?

Danke,
Alex
#2 Thomas schrieb am Freitag, 27. Oktober 2006 22:27:00:
Hallo,

nein - wenn du SQLExpress benutzen willst, muss der auch auf
dem Server installiert sein.

Gruß, Thomas
#3 Alex schrieb am Donnerstag, 2. November 2006 11:35:00:
thx,
das hatte ich befürchtet ;)
Dann werde ich mein eigenes Autho-Form mit hinterliegender DB erstellen, da ich nicht immer den SQL Server vorraussetzen kann

Danke,
Alex

Dein Kommentar