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.