Menurut komentar Anda, sepertinya Anda belum secara eksplisit mengonfigurasi penyedia peran untuk situs Anda.
Jika semua yang ada di web.config Anda adalah:
<roleManager enabled="true" />
Kemudian Anda mengandalkan penyedia default yang dideklarasikan lebih jauh ke hierarki konfigurasi (machine.config, global web.config, dll)
Di machine.config Anda mungkin mendapatkan sesuatu seperti:
<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>
Seperti yang Anda lihat, penyedia pertama dikonfigurasi untuk menggunakan connectionString yang disebut LocalSqlServer - yang juga biasanya dideklarasikan di machine.config:
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
Dan ini dirancang untuk menggunakan database berbasis file lokal yang akan dibuat jika belum ada.
Jadi agar peran berfungsi di situs Anda, Anda harus mengubah root web.config Anda menjadi seperti:
<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>
Menggunakan elemen