Warsztaty ASP.NET Wprowadzenie do identyfikacji i autoryzacji użytkowników Tomasz Janczyszyn WE, Informatyka, Rok III tomasz.janczyszyn@gmail.com
Plan prezentacji (tzw. AGENDA) 1. Pytania do was! 2. Wybór ścieżki [nauczania ] 3. Co dziś poznasz? Czego się nauczysz? 4. Weryfikacja tożsamości użytkownika i jego uprawnień: Uwierzytelnianie Autoryzacja 5. Sposoby identyfikacji w ASP.NET 6. Ćwiczenia praktyczne 1. Ćwiczenia wspólne (demonstracja) 2. Ćwiczenie do samodzielnej realizacji 3. Ćwiczenia wspólne (demonstracja) 7. Bonus: dobre hasło! 8. Podsumowanie oraz przydatne linki i dodatkowe materiały
Pytania do was! Czy utrwalaliście wiedzę zdobytą na poprzednich laboratoriach? Kto z was ćwiczył w domu? Podsatwy podstaw ASP.NET i obsługa VisualStudio Kontrolki dodawanie domyślnych, tworzenie własnych Obsługa zdarzeń kontrolek MasterPage Inne Czy ktoś z was tworzył już jakąkolwiek autoryzację użytkowników pod ASP.NET?
Wybór ścieżki demonstracji w VisualStudio Którą ścieżkę wybieracie? 1. Tworzenie kodu na bieżąco: czasochłonne działanie w miarę dokładne i szansa, że wiedza bardziej się utrwali ryzyko, że nie o wszystkim będzie się pamiętać 2. Przegląd i omówienie wygenerowanego wcześniej kodu: oszczędność czasu (wcześniej skończymy :)) szybko nie zawsze oznacza dobrze gwarancja, że omówimy cały przygotowany kod
Co dziś poznasz? Czego się nauczysz? Minimum teorii, na laboratoriach liczy się praktyka! Poznasz w praktyce najpopularniejszy sposób uwierzytelniania (autentykacji) i autoryzacji stosowany w witrynach ASP.NET Nauczysz się w prosty sposób weryfikować login i hasło użytkownika na podstawie danych przechowywanych w zwykłej bazie danych. Poznasz nowe kontrolki oraz zastosowanie nowych technik dostępnych w ASP.NET
Weryfikacja tożsamości użytkownika i jego uprawnień Autentykacja (ang. authentication): Proces przedstawienia się użytkownika i udowodnienia swojej tożsamości. Autoryzacja (ang. authorization): Proces sprawdzenia, czy wywołujący użytkownik ma uprawnienia do wykonania operacji.
Sposoby identyfikacji w ASP.NET Windows authentication identyfikuje i nadaje prawa dostępu użytkownikom, na podstawie danych zawartych w systemie operacyjnym serwera. Zastosowanie: strony wewnętrzne, np. w firmie Forms authentication Użytkownik musi skorzystać ze specjalnej strony, na której podaje login i hasło. Informacje użytkowników nie są przechowywane bezpośrednio w systemie. Identyfikacja i autoryzacja odbywa się na podstawie informacji przechowywanych w bazie danych, specjalnych plikach lub innych źródłach zewnętrznych. Passport authentication Próba uzyskania dostępu do określonych zasobów powoduje przekierowanie na specjalną stronę firmy Microsoft, gdzie użytkownik musi podać login i hasło. Dane użytkowników przechowywane są przez firmę Microsoft. Zaleta: możliwość posiadania jednakowych loginów i haseł dla wielu witryn. Niewielkie zainteresowanie tą usługą.
Ćwiczenia wykonywane wspólnie
Ćwiczenie dla was! Stworzenie kilku: użytkowników i podstron, zróżnicowany dostęp do nich. Cel: wyćwiczenie zdobytej wiedzy, poszerzenie możliwości autoryzacji. Czas: 7-9 minut, lub w razie potrzeby więcej. Podstrony: Polacy.aspx, Amerykanie.aspx, Inni.aspx Użytkownicy: admin, John, David, Zosia, Kamil, Ziemniak, Hasła: dowolne (np. asp ). Przydzielcie użytkowników do podstron wg następujących warunków: Admin ma dostęp do wszystkich podstron. Do strony Polacy.aspx mają dostęp tylko: Zosia i Kamil. Do strony Amerykanie.aspx mają dostęp: John i David. Do strony Inni.aspx mają dostęp WSZYSCY za wyjątkiem użytkowników: Zosia, Kamil, John, David. (jakie są możliwe rozwiązania tego podpunktu?) Pierwsza osoba, która wykona zadanie proszona jest o zgłoszenie tego faktu W razie jakichkolwiek pytań proszę je zgłaszać na bieżąco.
Ćwiczenia wykonywane wspólnie
Bonus: dobre hasło! http://www.adgraf.net/generator_hasel.php
Przydatne linki i dodatkowe materiały: Oficjalna witryna poświęcona ASP.NET http://www.asp.net Artykuł pt. Uwierzytelnianie i autoryzacja w ASP.NET 2.0 Jacek Matulewski, Sławomir Orłowski, Magazyn hakin9 Nr 6/2007 Artykuł pt. Wprowadzenie do identyfikacji i autoryzacji użytkowników Piotr Gaszewski, Portal CentrumXP.pl Prezentacja pt. Aplikacje ASP.NET zabezpieczenia w praktyce Piotr Czarnas, Roche Polska sp. z o.o. + polskie jak i zagraniczne portale oraz fora dyskusyjne dla programistów technologii.net
Tomasz Janczyszyn WE, Informatyka, Rok III tomasz.janczyszyn@gmail.com