Volgens uw opmerking lijkt het erop dat u niet expliciet een rolprovider voor uw site heeft geconfigureerd.
Als alles wat in uw web.config staat is:
<roleManager enabled="true" />
Dan vertrouwt u op de standaardproviders die hoger in de configuratiehiërarchie zijn gedeclareerd (machine.config, global web.config, enz.)
In machine.config heb je waarschijnlijk zoiets als:
<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>
Zoals je kunt zien, is de eerste provider geconfigureerd om een connectionString te gebruiken met de naam LocalSqlServer - die meestal ook wordt gedeclareerd in de machine.config:
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
En dit is ontworpen om een lokale, op bestanden gebaseerde database te gebruiken die zal worden aangemaakt als deze nog niet bestaat.
Dus om rollen op uw site te laten werken, moet u uw root web.config wijzigen in iets als:
<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>
Als u het element