Ich postete this question ungefähr 8 Monaten vor. Die akzeptierte Antwort berührt einige der Dinge, die Sie verpassen würden, wenn Sie nicht nach den Regeln des Standardanbieters spielen. Wenn Sie beispielsweise keinen benutzerdefinierten RoleProvider verwenden, der von RoleProvider erbt, verlieren Sie die Möglichkeit, Schnellverknüpfungen wie User.IsInRole()
zu verwenden. Die Antwort bezieht sich auf solche Dinge wie "eingebaute Rohrleitungen".Was sind die positiven Gründe für die Verwendung des Standard-Mitgliedschaftsanbieters oder eines benutzerdefinierten Mitgliedschaftsanbieters?
Was ich wissen möchte, ist, wo ich eine vollständige Liste von Sachen finden kann, die auf dieser "eingebauten Klempnerarbeit" beruhen, und etwas, das zeigt, welche überschriebenen Methoden sie hinter den Kulissen aufrufen.
Zum Beispiel HttpContext.Current.User.IsInRole()
ist (ich nehme an) unter Bezugnahme auf und rufe meine überschriebenen „IsUserInRole()“ Methode in meinem benutzerdefinierten Roleprovider, aber ich möchte in die Dokumentation sehen, wo es explizit angegeben, dass HttpContext.Current.User.IsInRole()
tatsächlich IsUserInRole()
anruft, für alle diese Methoden für alle Anbieter.
Ich verstehe, dass es schon offensichtlich sein sollte (IsInRole() und IsUserInRole() sind so ähnlich), aber meine Motivation zu fragen ist zu sehen und zu lernen über die anderen Arten von solchen Verknüpfungen, die ich ' bin mir nicht einmal bewusst. Ich habe das Gefühl, dass ich das Rad mehrmals neu erfunden habe, und ich weiß es nicht einmal.