Frage

Ich habe meine ASP.NET Web-Anwendung aktiviert Roles in, aber ich bin ein wenig verwirrt darüber, wo sie gespeichert werden. In meinem alten Projekt würde jede Rolle in der ASP.NET-Tabelle Rollen erscheinen, und ich konnte sich sehen. Doch in meinem neuen Projekt, ich kann keine Rollen in der Datenbanktabelle sehen. Das Merkwürdige ist, dass ich sie noch verwenden kann (und die Standard-Rollen / Membership API) und alles funktioniert. Irgendwelche Ideen, warum sie erscheinen nicht die Datenbanktabelle selbst, und wo sie gespeichert sind eigentlich werden?

Meine web.config Datei hat diese:

<roleManager enabled="true" />

Mit dem ASP.NET-Konfigurationstool, meine Standard-Rollenanbieter sind AspNetSqlRoleProvider.

Danke Aktualisieren Ich fügte hinzu, dies ausdrücklich in meinem web.confg

 <roleManager enabled="true" >

      <providers>
        <clear/>
        <add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/>
      </providers>
    </roleManager>
War es hilfreich?

Lösung

In der Standardeinstellung macht es die lokale Datenbank, es sei denn die Rollenanbieter verweisen auf eine Datenbank verwenden, um eine andere Datenbank-Verbindung.

Wenn Sie Setup, um die Tabellen in Ihrer eigenen Datenbank und nicht die aspnetdb.mdf Datei, dann werden Sie zu Setup einer benutzerdefinierten Provider-Definition zeigen auf den SqlRoleProvider und bieten einen benutzerdefinierte Verbindungszeichenfolge Hinweis darauf, wo die Datenbank vorhanden ist.

HTH.

Andere Tipps

Ihre asp.net Mitgliedschaft Datenbank sind zwei Tabellen: aspnet_Roles die Rollen enthält und aspnet_UsersInRoles enthält die Zuordnung von Benutzern mit Rollen

.

wird es seine eigene Datenbank im Ordner App_Data, und erstellen Sie die erforderlichen Tabellen dort

bauen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top