2009-03-14 12 views
6

Piszę nową aplikację w ASP.NET MVC. Stworzyłem niestandardowy program MembershipProvider, który przechowuje dane o członkostwie w moim własnym schemacie db. To wszystko działa, ale jak mogę uzyskać MembershipUser w mojej aplikacji, tak, że mogę uzyskać klucz użytkownika zalogowanego użytkownika i załadować klasy modelu odnoszące się do tego użytkownika?Uzyskaj członkostwoUżytkownik w ASP.NET MVC

Odpowiedz

9

można użyć następujących:

using System.Web.Security; 

var user = Membership.GetUser(); 
+0

trzeba jeszcze odniesienie do System.Web.ApplicationServices (4,0), aby być w stanie uzyskać dostępu do żadnych właściwości MembershipUser – BozoJoe

+0

jego dając HttpException z dodatkowymi informacjami „Nie można połączyć się z bazą danych SQL Server”. Jakieś pomysły, których mi brakuje? – Dashrath

4

Użyj statycznego Membership klasę odzyskać Użytkownik korzystający GetUser. Musisz skonfigurować dostawcę w pliku web.config. Podczas logowania otrzymujesz nazwę użytkownika prawdopodobnie z pola tekstowego w twoim formularzu. Po zalogowaniu możesz pobrać go z właściwości User kontrolera.

string username = this.User.Identity.Name; 
MembershipUser user = Membership.GetUser(username); 
+2

Później odkryłem, że nie potrzebujesz nazwy użytkownika, ponieważ Membership.GetUser() właśnie zwraca bieżącego zalogowanego użytkownika. –