2009-06-10 9 views
0

Wenn sich ein Benutzer bei meiner ASP.NET MVC-Anwendung anmeldet, muss ich beibehalten, zu welcher Firma dieser Benutzer gehört. Die Firma, zu der sie gehören, wird feststellen, aus welcher Datenbank alle ihre Anfragen stammen. Daher ist es wichtig, dass ich mich nach ihrem Unternehmen erkundige, sobald sie sich angemeldet haben, damit ich diese Suche nicht erneut durchführen muss.Wo kann ich mit ASP.NET MVC und MembershipProvider bestehen, zu welcher Firma ein Benutzer gehört?

Wo/Wie soll ich diese Firmen ID speichern? Session? Eine Möglichkeit, einen MembershipProvider so anzupassen, dass ich diese Informationen in einem Benutzerobjekt aufbewahren kann?

Was wäre der beste Weg, damit umzugehen? Buchstäblich, jede Abfrage, die ich danach mache, hängt stark von dieser Firmen-ID ab, so dass es wichtig ist, dass ich diese Information beibehalte.

Antwort

1

Sie könnten die Profileigenschaften von ASP.NET verwenden, aber Sie müssen einen eigenen Handler für sie erstellen. Sieh dir die Antwort von Seventh Element auf this question für Ideen an, wie du anfangen kannst.

1

Sie könnten write your own Auth module erweitern FormsAuthentication und speichern Sie die Firma in der IPrincipal.

Dann können Sie tun User.Identity.Company wie User.Identity.Name.

Dies ist mehr Vor-Arbeit als das Unternehmen in einem bereits vorhandenen Bucket wie Cache oder Session stecken, aber es können Sie einige ziemlich mühelosen Code schreiben, sobald Sie alles verdrahtet haben.

0

Ich würde es in Sitzung setzen, denn in Ihrem Fall mit dem Profil bedeutet 1 zusätzliche Rundreise DB für jeden DB Anruf.

Wenn Sie das Profil trotzdem in jeder Aktionsmethode aufrufen, sollten Sie es natürlich verwenden.

Verwandte Themen