2012-08-31 10 views
7

Korzystam z dostawcy członkostwa ASP.NET, tak jak to się dzieje i dobrze mi służyłem w moich podstawowych celach. Jedną rzecz, którą sobie uświadamiam jest to, że instaluje paczkę przechowywanych Procs itp. Do bazy danych.Dostawca członkostwa ASP.NET z EF

Czy istnieje EF implementacja członkostwa ASP.NET? czy będzie?

Mam nadchodzący projekt, który będzie musiał rozszerzyć funkcjonalność dostawców członkostwa o role i uprawnienia za pośrednictwem niektórych GUI.

Co więcej, za każdym razem, gdy używam tego, mam dwa ciągi połączenia w moim pliku web.config dla DbContext jeden dla usług aplikacji, szczególnie dla dostawcy członkostwa. Dlaczego nie mogę mieć tylko jednego?

Odpowiedz

0

Istnieją systemy zarządzania członkostwem GUI dla MVC3, które możesz obejrzeć lub dodać do swojego projektu.

Można bawić się z nimi i zobaczyć, jak one działają. To proste, gdy już wiesz, gdzie szukać i możesz tworzyć własne.

Wszystkie dane użytkownika są przechowywane pod Membership Class i MembershipUser Class. Na przykład, aby cofnąć zatwierdzenie użytkownik może to zrobić:

MembershipUser user = Membership.GetUser("userName"); 
user.IsApproved = false; 
Membership.UpdateUser(user); 

A jeśli chcesz usunąć użytkownika, można użyć Membership.DeleteUser("userName");.

Wszystkie informacje dotyczące roli są powiązane z Roles Class. Podobnie jak Roles.GetUsersInRole("roleName") zwróci listę wszystkich użytkowników w roli roleName. Roles.CreateRole("roleName"); utworzy rolę, a Roles.DeleteRole("roleName"); usunie rolę.

Jeśli potrzebujesz czegoś więcej niż tylko domyślnego, możesz spojrzeć na Implementing a Membership Provider.

Jeśli chodzi o posiadanie dwóch baz danych, nie jest to konieczne. Do bazy danych można dodać wszystkie tabele ASP.NET, procedury składowane itp. Za pomocą narzędzia Aspnet_regsql. Spójrz na Installing the Database using Aspnet_regsql.exe. To pozwoli ci mieć tylko jedną bazę danych, więc możesz usunąć ciąg połączenia asp.net w swoim Web.Config, a następnie zmienić AspNetSqlMembershipProviderAspNetSqlProfileProviderAspNetSqlRoleProvider i być może inne, aby użyć ciągu połączenia z główną bazą danych.

0

Dla dostawcy członkostwa ASP i implementacji ról w Entity Framework, należy zaimportować wszystkie widoki ASPNETDB (bazy danych członkostwa) w pliku EDMX. na przykład vw_aspnet_MembershipUsers, vw_aspnet_Roles, vw_aspnet_UsersInRoles, vw_aspnet_Users, etc ...

Następnie członkostwo będzie prowadzone przez EF. Tak, możesz dostarczyć GUI używając poniższych funkcji.

tutaj jest kod kontrolera. na przykład

Teraz, jak połączyć ASPNETDB z istniejącą bazą danych, aby utworzyć tylko jeden ciąg połączenia w pliku web.config. (Twoje pytanie: dlaczego nie mogę mieć tylko jednego?)

Jest to również możliwe za pomocą poniższych kroków.

ASPNETDB.MDF jest bazą danych dostawców członkostwa i służy do przechowywania i pobierania danych członkowskich członkowskich z bazy danych, a tutaj zobaczymy, jak utworzyć bazę danych dostawcy członkostwa. Komenda użyta do utworzenia Aspnetdb.mdf to ASPNET_RegSQL.EXE

1.Start-> Programy-> Microsoft visual studio 2005-> narzędzia Visual Studio-> wiersz poleceń programu Visual Studio 2005. Wpisz ASPNET_RegSQL.EXE w Visual Studio 2005 poleceń

  1. zostanie wyświetlony kreator z nagłówkiem”Welcome to the Asp.Net SQL Server Wizard”. W tym miejscu należy kliknąć Dalej. Następnie zostanie wyświetlony następny kreator z opcją "Wybierz opcję konfiguracji". Następnie zostanie wyświetlony następny

  2. . Teraz musimy wybrać opcję instalacji "Konfiguruj serwer sql dla celów aplikacji jest domyślny". Wybierz, który chcesz i dalej.

  3. Zostanie wyświetlone okno z "Wybierz bazę danych serwera SQL" Teraz musimy wybrać naszą bazę danych serwera sql. Tutaj trzeba ustawić serwer, typ uwierzytelniania i bazę danych. Po wybraniu nazwy domyślnej "aspnetDb.mdf" zostanie wybrany. Jeśli chcesz zmodyfikować istniejącą bazę danych, wybierz tę bazę danych.

5. Teraz potwierdzenie zostanie wyświetlone z nagłówkiem "Potwierdź swoje ustawienia". Teraz sprawdź nazwę serwera i nazwę bazy danych, a następnie kliknij przycisk Dalej.

  1. Zostanie wyświetlone okno z opcją "Baza danych została utworzona lub zmodyfikowana".Teraz kliknij Finish

Bądź ostrożny w powyższych kroków należy wybrać istniejącą bazę danych, Niektóre tabele (11+), widoki, procedury przechowywane członkostwa i role zostaną dodane do istniejącej bazy danych ....

Ciesz się tym ... Dziękuję ...

+0

jak to zrobić, jeśli najpierw korzystasz z kodu DbContext? – DarthVader

+0

W przypadku podejścia kod pierwszego, polecenia bez zapytania mogą być wysyłane do bazy danych przy użyciu metody ExecuteSqlCommand w bazie danych. context.Database.ExecuteSqlCommand (""); –

+0

dobrze nie interesują kwerendy sql lub przechowywane proc. kto już z nich korzysta? – DarthVader

Powiązane problemy