ASP.NET Web Matrix - przewodnik

Spis treści

Tworzenie pliku Web.config

W tym przykładzie przygotujemy plik web.config w taki sposób, aby aplikacja internetowa:

  • pobierała poświadczenia przy użyciu formularzy HTML wprost z komputera klienta,
  • uniemożliwiała dostęp użytkownikom anonimowym.
  • Wykorzystując utworzoną w poprzednim przykładzie stronę meldowanie.aspx, będziemy mogli wymusić zalogowanie się użytkownika, zanim zostanie wyświetlona strona raportu. Aby odpowiednio skonfigurować aplikację, wykonaj następujące czynności:

    ASP.NET Web Matrix - przewodnik

    1. Z menu File wybierz polecenie New File. Na ekranie pojawi się okno dialogowe Add New File.

    2. Z panelu Templates wybierz pozycję Security.

    3. Zaznacz szablon Config File.

    4. W pole Location wpisz ścieżkę dostępu do pliku.

    5. W pole tekstowe Filename wpisz nazwę pliku web.config (wartość domyślna).

    6. Kliknij przycisk OK. Otworzy się plik web.config.

    7. Atrybutowi mode znacznika authentication nadaj wartość Forms (wartość domyślna). Ustawienie to określa zasady uwierzytelniania aplikacji:

    <authentication mode="Forms">

    Uwaga - uwierzytelnianie wykorzystujące formularz to usługa uwierzytelniania ASP.NET, która pozwala aplikacjom na wykorzystanie własnego interfejsu logowania i samodzielne sprawdzenie poświadczeń użytkownika.

    8. Zmodyfikuj znacznik forms tak, by atrybut loginURL wskazywał utworzoną poprzednio stronę meldowania.

    <forms name=".ASPXAUTH" loginUrl="meldowanie.aspx" />

    Uwaga - dostęp do aplikacji można określać także poprzez role.

    9. Znacznikowi podrzędnemu deny znacznika authorization przypisz wartość ? (wartość domyślna):

    <deny users="?" />

    Uwaga - oprócz nazw użytkowników i ról można używać następujących symboli zastępczych: * oznacza wszystkich użytkowników, ? oznacza użytkowników anonimowych. Zakazanie użytkownikom anonimowym dostępu do stron w wybranym katalogu uniemożliwia przeglądanie stron każdemu niezalogowanemu użytkownikowi i automatycznie odsyła go do strony logowania (utworzoną w poprzednim przykładzie). Użytkownicy nie będą mieli dostępu do żadnej ze stron, dopóki na stronie logowania nie wprowadzą poprawnych danych (nazwy użytkownika i hasła).

    10. Zapisz plik.

    Uwaga - pliku web.config nie można uruchamiać.

    Tworzenie strony rejestracyjnej

    W tym przykładzie utworzymy nową stronę ASP.NET, która umożliwia dodanie nazwy i hasła użytkownika do tabeli Uzytkownicy.

    ASP.NET Web Matrix - przewodnik
    ASP.NET Web Matrix - przewodnik
    ASP.NET Web Matrix - przewodnik
    ASP.NET Web Matrix - przewodnik
    ASP.NET Web Matrix - przewodnik
    1. Z menu File wybierz polecenie New File. Na ekranie pojawi się okno dialogowe Add New File.

    2. W panelu Templates zaznacz pozycję (General).

    3. Wybierz szablon ASP.NET Page.

    4. W pole Location wpisz ścieżkę dostępu do pliku.

    5. W pole Filename wpisz nazwę pliku rejestracja.aspx.

    6. Z listy rozwijanej Language wybierz pozycję Visual Basic.

    7. Kliknij przycisk OK. Strona rejestracja.aspx otworzy się w widoku Design.

    8. Przejdź na paletę Web Controls przybornika, a następnie na obszar okna dokumentu przeciągnij trzy kontrolki Label, dwie kontrolki TextBox i jedną kontrolkę Button.

    9. Właściwości Text leżącej najwyżej kontrolki Label nadaj wartość Nazwa użytkownika:

    10. Właściwości Text środkowej kontrolki Label nadaj wartość Hasło:

    11. Usuń domyślną wartość właściwości Text najniższej kontrolki Label (pozostaw puste pole).

    12. Właściwości ID najniższej kontrolki Label przypisz wartość txtKomunikat.

    13. Właściwości ID najwyższej kontrolki TextBox przypisz wartość txtNazwaUzytkownika.

    14. Właściwości ID najniższej kontrolki TextBox przypisz wartość txtHasloUzytkownika.

    15. Właściwości TextMode kontrolki TextBox o identyfikatorze txtHasloUzytkownika przypisz wartość Password.

    Uwaga - właściwość ta zmienia sposób działania kontrolki pola tekstowego. Hasło jest informacją tajną, dlatego przy jego wprowadzaniu kontrolka TextBox nie będzie wyświetlała wpisywanych znaków.

    16. Włącz widok Code.

    17. Z palety Code Wizards przybornika przeciągnij na stronę ASP.NET generator kodu INSERT Data Method.

    Na ekranie pojawi się okno dialogowe kreatora INSERT Data Code.

    18. Rozwiń listę Select a Database. Środowisko ASP.NET Web Matrix połączy się z wybranym źródłem danych i w liście rozwijanej umieści nazwy dostępnych baz danych.

    19. Wybierz bazę danych Zamowienia i kliknij przycisk Next.

    Na ekranie pojawi się kolejne okno kreatora - Construct an INSERT Query.

    20. Z listy Table wybierz tabelę Uzytkownicy.

    Uwaga - pozostaw domyślne zaznaczenia w polach wyboru sekcji Column.

    21. Kliknij przycisk Next.

    Pojawi się następne okno dialogowe kreatora, umożliwiające nazwanie tworzonej funkcji.

    22. W pole nazwy metody wpisz DodajUzytkownika.

    23. Kliknij przycisk Finish.

    Kreator zostanie zamknięty, a w widoku Code pojawi się funkcja DodajUzytkownika. Jako parametry wejściowe funkcja przyjmuje wartości nazwaUzytkownika i hasloUzytkownika, a w wyniku działania zwraca liczbę całkowitą, która jest równa liczbie zmienionych wierszy w tabeli Uzytkownicy:

    Function DodajUzytkownika(ByVal nazwaUzytkownika _

    As String, ByVal hasloUzytkownika As String) _

    As Integer

    Dim connectionString As String = _

    "server='(local)'; trusted_connection=true; " & _

    "database='Zamowienia'"

    Dim dbConnection As System.Data.IDbConnection = _

    New System.Data.SqlClient. ř

    SqlConnection(connectionString)

    Dim queryString As String = "INSERT INTO " & _

    "[Uzytkownicy] ([NazwaUzytkownika]," & _

    "[HasloUzytkownika]) VALUES (@Nazwa"& _

    "Uzytkownika, @HasloUzytkownika)"

    Dim dbCommand As System.Data.IDbCommand = _

    New System.Data.SqlClient.SqlCommand

    dbCommand.CommandText = queryString

    dbCommand.Connection = dbConnection

    Dim dbParam_nazwaUzytkownika _

    As System.Data.IDataParameter = _

    New System.Data.SqlClient.SqlParameter

    dbParam_nazwaUzytkownika.ParameterName = _

    "@NazwaUzytkownika"

    dbParam_nazwaUzytkownika.Value = nazwaUzytkownika

    dbParam_nazwaUzytkownika.DbType = _

    System.Data.DbType.String

    dbCommand.Parameters.Add(dbParam_nazwaUzytkownika)

    Dim dbParam_hasloUzytkownika _

    As System.Data.IDataParameter = _

    New System.Data.SqlClient.SqlParameter

    dbParam_hasloUzytkownika.ParameterName = _

    "@HasloUzytkownika"

    dbParam_hasloUzytkownika.Value = hasloUzytkownika

    dbParam_hasloUzytkownika.DbType = _

    System.Data.DbType.String

    dbCommand.Parameters.Add(dbParam_hasloUzytkownika)

    Dim rowsAffected As Integer = 0

    dbConnection.Open

    Try

    rowsAffected = dbCommand.ExecuteNonQuery

    Finally

    dbConnection.Close

    End Try

    Return rowsAffected

    End Function

    24. Włącz widok Design.

    25. Kliknij dwukrotnie kontrolkę Button. Aplikacja ASP.NET Web Matrix wyświetli metodę Button1_Click w widoku Code.

    26. Wstaw kod obsługi zdarzenia kliknięcia kontrolki Button. Kod ten będzie wywoływał funkcję DodajUzytkownika, przekazując jej jako argumenty wartości podane w polach tekstowych txtNazwaUzytkownika i txtHasloUzytkownika:

    Sub Button1_Click(sender As Object, e As EventArgs)

    If DodajUzytkownika(txtNazwaUzytkownika.Text, _

    txtHasloUzytkownika.Text) > 0

    txtKomunikat.Text = "Sukces"

    Else

    txtKomunikat.Text = "Błąd!"

    End If

    End Sub