Laut Ihrem Kommentar haben Sie offenbar keinen Rollenanbieter für Ihre Site konfiguriert.
Wenn alles, was in Ihrer web.config steht:
<roleManager enabled="true" />
Dann verlassen Sie sich auf die Standardanbieter, die weiter oben in der Konfigurationshierarchie deklariert sind (machine.config, global web.config usw.)
In machine.config haben Sie wahrscheinlich so etwas wie:
<roleManager>
<providers>
<add name="AspNetSqlRoleProvider"
connectionStringName="LocalSqlServer"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add name="AspNetWindowsTokenRoleProvider"
applicationName="/"
type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
Wie Sie sehen können, ist der erste Anbieter so konfiguriert, dass er einen connectionString namens LocalSqlServer verwendet – der normalerweise auch in der machine.config deklariert ist:
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
Und dies wurde entwickelt, um eine lokale dateibasierte Datenbank zu verwenden, die erstellt wird, falls sie noch nicht existiert.
Damit also Rollen auf Ihrer Website funktionieren, sollten Sie Ihre root-web.config in etwas wie das folgende ändern:
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="YourConnectionStringName"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
Die Verwendung des Elements