Konfigurowanie witryny internetowej, która korzysta z usług aplikacji (VB)

przez Scott Mitchell

Pobierz kod lub Pobierz plik PDF

W ASP.NET w wersji 2,0 wprowadzono szereg usług aplikacji, które są częścią .NET Framework i służą jako pakiet usług blokowych, których można użyć do dodawania zaawansowanych funkcji aplikacji sieci Web. W tym samouczku przedstawiono sposób konfigurowania witryny sieci Web w środowisku produkcyjnym w celu korzystania z usług aplikacji i rozwiązywania typowych problemów związanych z zarządzaniem kontami i rolami użytkowników w środowisku produkcyjnym.

Wprowadzenie

W ASP.NET w wersji 2,0 wprowadzono szereg usług aplikacji, które są częścią .NET Framework i służą jako pakiet usług blokowych, których można użyć do dodawania zaawansowanych funkcji aplikacji sieci Web. Usługi aplikacji obejmują:

  • Członkostwo — interfejs API służący do tworzenia kont użytkowników i zarządzania nimi.
  • Role — interfejs API służący do kategoryzowania użytkowników w grupach.
  • Profil — interfejs API służący do przechowywania niestandardowej zawartości specyficznej dla użytkownika.
  • Mapa witryny — interfejs API służący do definiowania struktury logicznej lokacji w formie hierarchii, która może być następnie wyświetlana za pośrednictwem kontrolek nawigacji, takich jak menu i struktury nawigacyjne.
  • Personalizacja — interfejs API do obsługi preferencji dostosowywania najczęściej używany z składnikami Web Part.
  • Monitorowanie kondycji — interfejs API służący do monitorowania wydajności, zabezpieczeń, błędów i innych metryk kondycji systemu dla działającej aplikacji sieci Web.

Interfejsy API usług aplikacji nie są powiązane z określoną implementacją. Zamiast tego należy nakazać usługom aplikacji użycie określonego dostawcy, a ten dostawca implementuje usługę przy użyciu określonej technologii. Najczęściej używani dostawcy dla internetowych aplikacji sieci Web hostowanych w firmie hostingu w sieci Web to dostawcy używający implementacji bazy danych SQL Server. Na przykład SqlMembershipProvider jest dostawcą interfejsu API członkostwa, który przechowuje informacje o koncie użytkownika w bazie danych Microsoft SQL Server.

Korzystanie z usług aplikacji i dostawców SQL Server dodaje pewne wyzwania podczas wdrażania aplikacji. W przypadku programów do uruchamiania obiekty bazy danych usług aplikacji muszą być poprawnie utworzone zarówno na potrzeby tworzenia, jak i produkcyjnych baz danych. Istnieją także ważne ustawienia konfiguracji, które należy wykonać.

Note

Interfejsy API usług aplikacji zostały zaprojektowane przy użyciu modelu dostawcy, wzorca projektowego, który umożliwia szczegółowe informacje implementacji interfejsu API s w czasie wykonywania. .NET Framework dostarcza wielu dostawców usług aplikacji, których można użyć, takich jak SqlMembershipProvider i SqlRoleProvider , które są dostawcami dla interfejsów API członkostwa i ról, które korzystają z implementacji SQL Server Database. Możesz również utworzyć dostawcę niestandardowego i podłączyć go. W rzeczywistości aplikacja sieci Web przeglądający książkę zawiera już niestandardowego dostawcę dla interfejsu API mapy witryny ( ReviewSiteMapProvider ), który konstruuje mapę witryny na podstawie danych w Genres tabelach i Books w bazie danych programu.

Ten samouczek rozpoczyna się od rozbudowanej aplikacji sieci Web przeglądający książkę w celu korzystania z interfejsów API członkostwa i ról. Następnie przeprowadza proces wdrażania aplikacji sieci Web, która korzysta z usług aplikacji z implementacją bazy danych SQL Server i ma na celu rozwiązywanie typowych problemów związanych z zarządzaniem kontami i rolami użytkowników w środowisku produkcyjnym.

Aktualizacje aplikacji do przeglądu książki

W porównaniu do poprzednich samouczków książka przegląda aplikację sieci Web została zaktualizowana z statycznej witryny internetowej na dynamiczną, opartą na danych aplikację sieci Web z zestawem stron administracyjnych służących do zarządzania gatunkami i przeglądami. Jednak ta sekcja administracyjna nie jest obecnie chroniona — każdy użytkownik, który zna (lub odgadnięcie) adres URL strony administracyjnej, może Waltz i tworzyć, edytować lub usuwać przeglądy w naszej witrynie. Typowym sposobem ochrony niektórych części witryny jest zaimplementowanie kont użytkowników, a następnie użycie reguł autoryzacji adresów URL w celu ograniczenia dostępu do określonych użytkowników lub ról. Książka przegląda aplikację sieci Web, która jest dostępna do pobrania w ramach tego samouczka, obsługuje konta i role użytkowników. Ma jedną rolę zdefiniowaną jako administrator i tylko użytkownicy w tej roli mogą uzyskiwać dostęp do stron administracyjnych.

Note

Po utworzeniu trzech kont użytkowników w książce: Scott, Jisun i Alicja. Wszyscy trzy użytkownicy mają to samo hasło: hasło! Scott i Jisun znajdują się w roli administratora, Alicja nie jest. Strony nieadministracyjne lokacji nie są nadal dostępne dla użytkowników anonimowych. Oznacza to, że nie musisz logować się, aby odwiedzić witrynę, chyba że chcesz ją administrować. w takim przypadku musisz zalogować się jako użytkownik w roli administratora.

Strona wzorcowa przeglądy książki aplikacji została zaktualizowana w taki sposób, aby zawierała inny interfejs użytkownika dla uwierzytelnionych i anonimowych użytkowników. Jeśli użytkownik anonimowy odwiedzi witrynę, zobaczy link logowania w prawym górnym rogu. Uwierzytelniony użytkownik widzi komunikat "Witaj wstecz, username!" i link do wylogowania. Istnieje również strona logowania ( ~/Login.aspx ), która zawiera formant sieci Web logowania, który zapewnia interfejs użytkownika i logikę do uwierzytelniania osoby odwiedzającej. Tylko Administratorzy mogą tworzyć nowe konta. (Istnieją strony do tworzenia kont użytkowników i zarządzania nimi w ~/Admin folderze).

Konfigurowanie członkostwa i interfejsów API ról

Aplikacja sieci Web przegląda książkę korzysta z interfejsów API członkostwa i ról do obsługi kont użytkowników oraz grupowania tych użytkowników w role (tj. rola administratora). SqlMembershipProvider SqlRoleProvider Klasy dostawcy i są używane, ponieważ chcemy przechowywać informacje o kontach i rolach w bazie danych SQL Server.

Note

Ten samouczek nie jest przeznaczony do szczegółowej analizy podczas konfigurowania aplikacji sieci Web do obsługi interfejsów API członkostwa i ról. Aby uzyskać szczegółowe informacje na temat tych interfejsów API i czynności, które należy wykonać w celu skonfigurowania witryny sieci Web do korzystania z nich, Przeczytaj samouczki zabezpieczeń witryny sieci Web.

Aby użyć usług aplikacji z SQL Server bazą danych, należy najpierw dodać obiekty bazy danych używane przez tych dostawców do bazy danych, w której mają być przechowywane informacje o koncie i roli użytkownika. Te wymagane obiekty bazy danych obejmują różne tabele, widoki i procedury składowane. O ile nie określono inaczej SqlMembershipProvider , SqlRoleProvider klasy dostawcy i używają bazy danych SQL Server Express Edition o nazwie ASPNETDB znajdującej się w App_Data folderze aplikacji. Jeśli taka baza danych nie istnieje, jest automatycznie tworzona z niezbędnymi obiektami bazy danych przez tych dostawców w czasie wykonywania.

Jest to możliwe, a zazwyczaj idealne, aby utworzyć obiekty bazy danych usług aplikacji w tej samej bazie danych, w której przechowywane są dane specyficzne dla aplikacji witryny sieci Web. .NET Framework jest dostarczany przy użyciu narzędzia o nazwie aspnet_regsql.exe instalującego obiekty bazy danych w określonej bazie danych. To narzędzie zostało wcześniej użyte do dodania tych obiektów do Reviews.mdf bazy danych w App_Data folderze (programistyczna baza danych). Zobaczmy, jak używać tego narzędzia w dalszej części tego samouczka, gdy dodamy te obiekty do produkcyjnej bazy danych.

W przypadku dodania obiektów bazy danych usług aplikacji do bazy danych innej niż należy ASPNETDB dostosować SqlMembershipProvider SqlRoleProvider konfiguracje klas dostawcy i, tak aby korzystały z odpowiedniej bazy danych. Aby dostosować dostawcę członkostwa, Dodaj < > element Membership w <system.web> sekcji Web.config ; Użyj < > elementu roleManager , aby skonfigurować dostawcę ról. Poniższy fragment kodu jest pobierany z aplikacji książki przeglądowej Web.config i zawiera ustawienia konfiguracji interfejsów API członkostwa i ról. Należy zauważyć, że zarówno Zarejestruj nowego dostawcę ReviewMembership , jak i ReviewRole korzystający SqlMembershipProvider z SqlRoleProvider dostawców i.

<configuration>
    <system.web>
        ...

        <membership defaultProvider="ReviewMembership">
            <providers>
                <clear />

                <add type="System.Web.Security.SqlMembershipProvider" 
                     name="ReviewMembership" 
                     connectionStringName="ReviewsConnectionString" 
                     applicationName="BookReviews" />
            </providers>
        </membership>

        <roleManager enabled="true" defaultProvider="ReviewRole">
            <providers>
                <clear />

                <add type="System.Web.Security.SqlRoleProvider" 
                     name="ReviewRole" 
                     connectionStringName="ReviewsConnectionString" 
                     applicationName="BookReviews" />
            </providers>
        </roleManager>

        ...
    </system.web>
</configuration>

Web.configElement s został <authentication> również skonfigurowany do obsługi uwierzytelniania opartego na formularzach.

<configuration>
    <system.web>
        ...

        <authentication mode="Forms" />

        ...
    </system.web>
</configuration>

Ograniczanie dostępu do stron administracyjnych

ASP.NET ułatwia udzielanie lub odmawianie dostępu do określonego pliku lub folderu przez użytkownika lub przez rolę za pomocą funkcji autoryzacji adresów URL . (Zawarto krótko omówić autoryzację adresów URL w podstawowych różnicach między usługami IIS a samouczkiem serwera ASP.NET Development i pokazano, jak usługi iis i ASP.NET Development Server stosują reguły autoryzacji adresów URL inaczej w przypadku zawartości statycznej i dynamicznej.) Ponieważ chcemy zabronić dostępu do ~/Admin folderu z wyjątkiem tych użytkowników w roli administratora, musimy dodać do tego folderu reguły autoryzacji adresów URL. W szczególnych przypadkach reguły autoryzacji adresów URL muszą zezwalać użytkownikom w roli administratora i odmawiać wszystkim innym użytkownikom. W tym celu należy dodać Web.config plik do ~/Admin folderu o następującej zawartości:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Admin" />
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>

Aby uzyskać więcej informacji na temat funkcji autoryzacji adresów URL ASP.NET s i sposobu jej używania do sprawdzania reguł autoryzacji dla użytkowników i ról, pamiętaj o zapoznaniu się z informacjami o autoryzacjach i rolach autoryzacji opartych na użytkownikach ze wszystkich samouczków zabezpieczeń witryny sieci Web.

Wdrażanie aplikacji sieci Web korzystającej z Usługi aplikacji

W przypadku wdrażania witryny sieci Web, która korzysta z usług aplikacji i dostawcy przechowującego informacje o usługach aplikacji w bazie danych, należy koniecznie utworzyć obiekty bazy danych niezbędne przez usługi aplikacji w produkcyjnej bazie danych. Początkowo baza danych produkcyjna nie zawiera tych obiektów, więc podczas pierwszego wdrożenia aplikacji (lub po jej wdrożeniu po raz pierwszy po dodaniu usług aplikacji) należy wykonać dodatkowe czynności, aby uzyskać te wymagane obiekty bazy danych w produkcyjnej bazie danych.

Podczas wdrażania witryny sieci Web, która korzysta z usług aplikacji, może wystąpić inne wyzwanie, jeśli zamierzasz przeprowadzić replikację kont użytkowników utworzonych w środowisku programistycznym w środowisku produkcyjnym. W zależności od konfiguracji członkostwa i ról istnieje możliwość, że nawet w przypadku pomyślnego skopiowania kont użytkowników, które zostały utworzone w środowisku programistycznym w produkcyjnej bazie danych, użytkownicy nie mogą zalogować się do aplikacji sieci Web w produkcji. Zaobserwujemy przyczynę tego problemu i omawiamy, jak zapobiegać jego wystąpieniu.

ASP.NET jest dostarczany z świetnym narzędziem do administrowania witryną sieci Web (WSAT) , które można uruchomić z programu Visual Studio i umożliwia zarządzanie kontami użytkowników, rolami i regułami autoryzacji za pośrednictwem interfejsu opartego na sieci Web. Niestety, WSAT działa tylko w przypadku lokalnych witryn sieci Web, co oznacza, że nie można jej użyć do zdalnego zarządzania kontami użytkowników, rolami i regułami autoryzacji dla aplikacji sieci Web w środowisku produkcyjnym. Zobaczymy różne sposoby implementacji zachowania przypominającego WSAT z produkcyjnej witryny sieci Web.

Dodawanie obiektów bazy danych przy użyciu _regsql.exe ASPNET

Samouczek wdrażania bazy danych przedstawia sposób kopiowania tabel i danych z bazy danych programistycznych do produkcyjnej bazy danych. te techniki mogą być używane do kopiowania obiektów bazy danych usług aplikacji do produkcyjnej bazy danych. Innym rozwiązaniem jest aspnet_regsql.exe narzędzie, które dodaje lub usuwa obiekty bazy danych usług aplikacji z bazy danych.

Note

aspnet_regsql.exeNarzędzie tworzy obiekty bazy danych w określonej bazie danych. Nie migruje danych w tych obiektach bazy danych z bazy danych programistycznych do produkcyjnej bazy danych programu. Jeśli chcesz skopiować informacje o koncie użytkownika i roli w bazie danych programistycznych do produkcyjnej bazy danych, Użyj technik opisanych w samouczku wdrażanie bazy danych .

Pozwól, jak dodać obiekty bazy danych do produkcyjnej bazy danych przy użyciu aspnet_regsql.exe Narzędzia. Zacznij od otwarcia Eksploratora Windows i przejściu do katalogu .NET Framework w wersji 2,0 na komputerze,% WINDIR% \ Microsoft. NET\Framework\v2.0.50727. Należy znaleźć aspnet_regsql.exe Narzędzie. Tego narzędzia można użyć w wierszu polecenia, ale zawiera on również graficzny interfejs użytkownika. Kliknij dwukrotnie plik, aspnet_regsql.exe Aby uruchomić jego składnik graficzny.

Narzędzie uruchamia się, wyświetlając ekran powitalny wyjaśniający jego przeznaczenie. Kliknij przycisk Dalej, aby przejść do ekranu "Wybierz opcję instalacji", która jest pokazana na rysunku 1. W tym miejscu możesz wybrać opcję dodania obiektów bazy danych usług aplikacji lub usunięcia ich z bazy danych. Ponieważ chcemy dodać te obiekty do produkcyjnej bazy danych, wybierz opcję "Konfiguruj SQL Server dla usług aplikacji", a następnie kliknij przycisk Dalej.

Wybierz, aby skonfigurować SQL Server Usługi aplikacji

Rysunek 1. Wybierz, aby skonfigurować SQL Server usługi aplikacji (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Na ekranie "Wybierz serwer i bazę danych" pojawia się prośba o informacje umożliwiające nawiązanie połączenia z bazą danych. Wprowadź serwer bazy danych, poświadczenia zabezpieczeń i nazwę bazy danych dostarczonej przez firmę hostingową sieci Web, a następnie kliknij przycisk Dalej.

Note

Po wprowadzeniu serwera bazy danych i poświadczeń może wystąpić błąd podczas rozszerzania listy rozwijanej baza danych. aspnet_regsql.exeNarzędzie wysyła zapytanie do sysdatabases tabeli systemowej w celu pobrania listy baz danych na serwerze, ale niektóre firmy obsługujące hosting w sieci Web zablokują swoje serwery baz danych, dzięki czemu te informacje nie będą dostępne publicznie. Jeśli zostanie wyświetlony ten błąd, można wpisać nazwę bazy danych bezpośrednio do listy rozwijanej.

Podaj narzędzie z informacjami o połączeniu z bazą danych

Rysunek 2. podawanie narzędzia informacjami o połączeniu z bazą danych (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Kolejny ekran zawiera podsumowanie działań, które mają zostać wykonane, w tym informacje o tym, że obiekty bazy danych usług aplikacji zostaną dodane do określonej bazy danych. Kliknij przycisk Dalej, aby zakończyć tę akcję. Po kilku chwilach zostanie wyświetlony ekran ostatni z zanotowaniem, że obiekty bazy danych zostały dodane (patrz rysunek 3).

Prawnego! Do produkcyjnej bazy danych zostały dodane obiekty Usługi aplikacji Database

Rysunek 3. sukces! Obiekty Usługi aplikacji Database zostały dodane do produkcyjnej bazy danych (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Aby sprawdzić, czy obiekty bazy danych usług aplikacji zostały pomyślnie dodane do produkcyjnej bazy danych, Otwórz SQL Server Management Studio i nawiąż połączenie z produkcyjną bazą danych. Jak pokazano na rysunku 4, powinny pojawić się tabele bazy danych usług aplikacji w bazie danych,,, aspnet_Applications aspnet_Membership aspnet_Users i tak dalej.

Upewnij się, że obiekty bazy danych zostały dodane do produkcyjnej bazy danych

Rysunek 4. potwierdzenie, że obiekty bazy danych zostały dodane do produkcyjnej bazy danych (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Wystarczy użyć aspnet_regsql.exe narzędzia podczas wdrażania aplikacji sieci Web po raz pierwszy lub po raz pierwszy po rozpoczęciu korzystania z usług aplikacji. Gdy te obiekty bazy danych znajdują się w produkcyjnej bazie danych, nie trzeba ich ponownie dodawać ani modyfikować.

Kopiowanie kont użytkowników z programowania do produkcji

W przypadku używania SqlMembershipProvider SqlRoleProvider klas dostawcy i do przechowywania informacji o usługach aplikacji w bazie danych SQL Server informacje o kontach i rolach użytkownika są przechowywane w różnych tabelach bazy danych, w tym aspnet_Users między innymi,, aspnet_Membership aspnet_Roles i aspnet_UsersInRoles . Jeśli podczas tworzenia utworzysz konta użytkowników w środowisku deweloperskim, można replikować te konta użytkowników w produkcji, kopiując odpowiednie rekordy z odpowiednich tabel bazy danych. Jeśli do wdrożenia obiektów bazy danych usług aplikacji użyto Kreatora publikacji bazy danych, być może wybrano również opcję skopiowania rekordów, co spowoduje, że konta użytkowników utworzone w ramach programowania również będą dostępne w środowisku produkcyjnym. Jednak w zależności od ustawień konfiguracji może się okazać, że Ci użytkownicy, których konta zostały utworzone podczas opracowywania i skopiowane do środowiska produkcyjnego, nie mogą zalogować się z produkcyjnej witryny sieci Web. Co daje?

SqlMembershipProvider SqlRoleProvider Klasy dostawcy i zostały zaprojektowane w taki sposób, że pojedyncza baza danych może służyć jako magazyn użytkowników dla wielu aplikacji, gdzie każda aplikacja może być teoretyczna użytkownikami z nakładającymi się nazwami użytkowników i rolami o tej samej nazwie. Aby zapewnić taką elastyczność, baza danych przechowuje listę aplikacji w aspnet_Applications tabeli, a każdy użytkownik jest skojarzony z jedną z tych aplikacji. W aspnet_Users tabeli znajduje się ApplicationId kolumna, która łączy każdego użytkownika do rekordu w aspnet_Applications tabeli.

Oprócz ApplicationId kolumny aspnet_Applications tabela zawiera również ApplicationName kolumnę, która zapewnia bardziej przyjazną dla człowieka nazwę aplikacji. Gdy witryna sieci Web próbuje współpracować z kontem użytkownika, na przykład sprawdzając poprawność poświadczeń użytkownika na stronie logowania, musi powiedzieć klasie, SqlMembershipProvider z którą aplikacja ma współpracować. Zwykle jest to realizowane przez podanie nazwy aplikacji, a ta wartość pochodzi z konfiguracji dostawcy w programie — w sposób specyficzny Web.config dla applicationName atrybutu.

Ale co się stanie, jeśli applicationName atrybut nie zostanie określony w Web.config ? W takim przypadku system członkostwa używa ścieżki katalogu głównego aplikacji jako applicationName wartości. Jeśli applicationName atrybut nie jest jawnie ustawiony w programie Web.config , istnieje możliwość, że środowisko deweloperskie i środowisko produkcyjne używają innego katalogu głównego aplikacji, dlatego zostaną skojarzone z różnymi nazwami aplikacji w usługach aplikacji. Jeśli taka niezgodność występuje, użytkownicy utworzeni w środowisku deweloperskim będą mieli ApplicationId wartość niezgodną z ApplicationId wartością dla środowiska produkcyjnego. Wynika to z faktu, że użytkownicy nie będą mogli się zalogować.

Note

Jeśli znajdziesz się w tej sytuacji — z kontami użytkowników skopiowanymi do produkcji z niezgodną ApplicationId wartością — można napisać zapytanie w celu zaktualizowania tych nieprawidłowych ApplicationId wartości do ApplicationId użycia w środowisku produkcyjnym. Po zaktualizowaniu użytkownicy, których konta zostały utworzone w środowisku deweloperskim, będą mogli zalogować się do aplikacji sieci Web na etapie produkcji.

Dobra wiadomość polega na tym, że istnieje prosty krok, aby upewnić się, że te dwa środowiska używają tego samego ApplicationId jawnie ustawienia applicationName atrybutu w Web.config dla wszystkich dostawców usług aplikacji. Jawnie ustaw applicationName atrybut na "BookReviews" w <membership> <roleManager> elementach i jako ten fragment kodu z elementów Web.config .

<membership defaultProvider="ReviewMembership">
    <providers>
        <clear />

        <add type="System.Web.Security.SqlMembershipProvider" 
             name="ReviewMembership" 
             connectionStringName="ReviewsConnectionString" 
             applicationName="BookReviews" />
    </providers>
</membership>

Aby uzyskać więcej informacji na temat ustawiania applicationName atrybutów i ich uzasadnienia, zapoznaj się z wpisem na blogu Scott Guthrie s, a następnie Ustaw właściwość applicationName podczas konfigurowania członkostwa ASP.NET i innych dostawców.

Zarządzanie kontami użytkowników w środowisku produkcyjnym

Narzędzie do administrowania witryną sieci Web ASP.NET (WSAT) ułatwia tworzenie kont użytkowników i zarządzanie nimi, Definiowanie i stosowanie ról oraz sprawdzanie reguł autoryzacji opartych na użytkownikach i rolach. Możesz uruchomić WSAT z programu Visual Studio, przechodząc do Eksplorator rozwiązań i klikając ikonę konfiguracji ASP.NET lub wybierając pozycję witryna sieci Web lub projektu i wybierając element menu Konfiguracja ASP.NET. Niestety, WSAT może współpracował tylko z lokalnymi witrynami sieci Web. W związku z tym nie można używać WSAT z poziomu stacji roboczej do zarządzania witryną sieci Web w środowisku produkcyjnym.

Dobra wiadomość polega na tym, że wszystkie funkcje udostępniane przez WSAT są dostępne programowo za pomocą interfejsów API członkostwa i ról. Ponadto wiele ekranów WSAT korzysta ze standardowych kontrolek związanych z logowaniem ASP.NET. Krótko mówiąc, możesz dodać strony ASP.NET do witryny sieci Web, które oferują niezbędne funkcje zarządzania.

Odwołaj poprzedni samouczek zaktualizował aplikację sieci Web Recenzja książki, aby dołączyć ~/Admin folder, a ten folder został skonfigurowany tak, aby zezwalał tylko na użytkowników w roli administratora. Dodano stronę do tego folderu o nazwie, CreateAccount.aspx z której administrator może utworzyć nowe konto użytkownika. Ta strona używa formantu formancie CreateUserWizard, aby wyświetlić interfejs użytkownika i logikę zaplecza w celu utworzenia nowego konta użytkownika. Co więcej, I dostosowałem formant, aby zawierał pole wyboru, które monituje o to, czy nowy użytkownik powinien również zostać dodany do roli administratora (patrz rysunek 5). Za pomocą małej ilości pracy można utworzyć niestandardowy zestaw stron, który implementuje zadania związane z zarządzaniem użytkownikami i rolami, które w przeciwnym razie byłyby udostępniane przez WSAT.

Note

Aby uzyskać więcej informacji o korzystaniu z interfejsów API członkostwa i ról wraz z kontrolkami sieci Web ASP.NET związanymi z logowaniem, pamiętaj o odczytaniu samouczków zabezpieczeń witryny sieci Web. Aby uzyskać więcej informacji na temat dostosowywania formantu formancie CreateUserWizard, zapoznaj się z tematem Tworzenie kont użytkowników i przechowywanie dodatkowych samouczków dotyczących informacji o użytkownikach lub zapoznaj się z artykułem Erich Peterson s, dostosowując kontrolkę formancie CreateUserWizard.

Administratorzy mogą tworzyć nowe konta użytkowników

Rysunek 5: Administratorzy mogą tworzyć nowe konta użytkowników (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Jeśli potrzebujesz pełnej funkcjonalności WSAT, Wyewidencjonuj własne narzędzie do administrowania witryną sieci Web, w którym autor Dan Clem przeprowadzi proces tworzenia niestandardowego narzędzia przypominającego WSAT. Dan udostępnia swój kod źródłowy aplikacji (w języku C#) i zawiera instrukcje krok po kroku dotyczące dodawania go do hostowanej witryny sieci Web.

Podsumowanie

Podczas wdrażania aplikacji sieci Web, która korzysta z implementacji bazy danych usług aplikacji, należy najpierw upewnić się, że produkcyjna baza danych ma wymagane obiekty bazy danych. Te obiekty można dodawać przy użyciu technik omówionych w samouczku wdrażanie bazy danych . Alternatywnie możesz użyć tego aspnet_regsql.exe Narzędzia, jak zostało to opisane w tym samouczku. Inne wyzwania zachęcamy do wyśrodkowania synchronizacji nazwy aplikacji używanej w środowiskach deweloperskich i produkcyjnych (co jest ważne, jeśli użytkownicy i role utworzone w środowisku programistycznym mają być ważne w produkcji) i techniki zarządzania użytkownikami i rolami w środowisku produkcyjnym.

Szczęśliwe programowanie!

Dalsze informacje

Aby uzyskać więcej informacji na temat tematów omówionych w tym samouczku, zapoznaj się z następującymi zasobami: