Sesje i logowanie. 1. Wprowadzenie

Podobne dokumenty
Praca w programie dodawanie pisma.

Instrukcja logowania do systemu Rejestru Unii dla nowych użytkowników

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

Instrukcja logowania do systemu Rejestru Unii sprawdzenie identyfikatora użytkownika - URID

Instrukcja logowania do systemu Rejestru Unii dla nowych użytkowników

Przewodnik użytkownika systemu e-faktur

Asystent kierowcy - aplikacja mobilna

INSTRUKCJA OBSŁUGI. Proces rejestracji i logowania


Języki programowania wysokiego poziomu. Blog

Instrukcja logowania do systemu Rejestru Unii

INSTRUKCJA OBSŁUGI Proces rejestracji i logowania

Języki programowania wysokiego poziomu. Ćwiczenia

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Platforma e-learningowa

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA UŻYTKOWNIKA

Instrukcja pozyskania identyfikatora - UID

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

Instrukcja użytkownika

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

Instrukcja obsługi Uczeń. Spis Treści

INSTRUKCJA OBSŁUGI PROGRAMU


Instrukcja użytkownika. Instrukcja konfiguracji i obsługi modułu e-rejestracja

Instrukcja użytkownika

ZAKŁADANIE POCZTY ELEKTRONICZNEJ - na przykładzie serwisu

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

ADMINISTRATOR SZKOŁY. Instrukcja użytkownika portalu

SUPLEMENT DO DYPLOMU

Języki programowania wysokiego poziomu. Forum

INSTRUKCJA instalacji aplikacji elisty.pl

Klient poczty elektronicznej - Thunderbird

Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

1.2 Prawa dostępu - Role

Instrukcja użytkownika

Baza danych sql. 1. Wprowadzenie

1 Jak zbieramy dane? 1/5

INSTRUKCJA REJESTRACJI

INSTRUKCJA UŻYTKOWNIKA

elektroniczna Platforma Usług Administracji Publicznej

1. LOGOWANIE DO SYSTEMU

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro

1 Podstawowe informacje 2. 2 Tworzenie gry Rejestracja do gry Lista gier 7. 4 Gry Archiwalne 8. 5 Lista Graczy 9

Integracja z Facebook. Wersja 7.2.4

ELEKTRONICZNA SKRZYNKA PODAWCZA CYFROWY URZĄD Województwa Warmińsko Mazurskiego Część użytkownika

Projekt z przedmiotu Projektowanie systemów teleinformatycznych

epuap Zakładanie konta organizacji

Fundacja Ośrodka KARTA z siedzibą w Warszawie, przy ul. Narbutta 29 ( Warszawa),

Instrukcja tworzenia, logowania i obsługi kont w portalu:

1. Rejestracja 2. Logowanie 3. Zgłaszanie nowego wniosku projektowego

POLITYKA PRYWATNOŚCI SERWIS:

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

E-faktura PKP Energetyka

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

Telesprzedaż by CTI Instrukcja

Dokumentacja użytkownika systemu wnioskowania i zarządzania certyfikatami BPTP O3 w systemie ITIM Wersja 2.1

Platforma e-learningowa

INSTRUKCJA OBSŁUGI USTAWIEŃ DYNAMICZNIE PRZEDZIELANYCH ADRESÓW IP W URZĄDZENIACH SYSTEMU IP-PRO ORAZ REJESTRATORACH MY-DVR

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Współpraca z platformą Emp@tia. dokumentacja techniczna

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

INSTRUKCJA zakładania konta w Społecznoś ci CEO


Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

Internetowy System Składania Wniosków PISF wersja 2.2. Instrukcja dla Wnioskodawców

INSTRUKCJA OBSŁUGI Wersja: 1.8

Serwery aplikacji. dr Radosław Matusik. radmat

Instrukcja rejestracji organizacji w podsystemie Generator Wniosko w Aplikacyjnych (GWA) Systemu Informatycznego NAWIKUS

SZKOLENIE OKRESOWE Z DZIEDZINY BHP INSTRUKCJA POSTĘPOWANIA

Najważniejsze informacje dla klienta na temat Portalu Serwisowego D-Link Spis treści

Certyfikat. 1 Jak zbieramy dane?

Instrukcja pobierania i weryfikacji zaświadczeń elektronicznych w portalu internetowym Polskiej Izby Inżynierów Budownictwa

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

E-BOK DOKUMENTACJA UŻYTKOWNIKA

Cemarol Sp. z o.o. Polityka prywatności (pliki cookies) 1. Informacje ogólne.

Szkolenie jest współfinansowane ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Karolina Pizoń Mariusz Sawicki

INSTRUKCJA OBSŁUGI Wersja: 2.5

a. (20 pkt.) Aplikacja powinna zawierać następujące elementy: 2. Formularz edycji profilu użytkownika (2 pkt.).

1. Pobieranie i instalacja FotoSendera

epuap Zakładanie konta organizacji

Polityka prywatności dla strony ELCEN Sp. z o.o. z siedzibą w Gdyni

Aby pobrać program FotoSender naleŝy na stronę lub i kliknąć na link Program do wysyłki zdjęć Internetem.

Wersja dokumentu: Data: 17 listopada 2016 r.

POLITYKA PRYWATNOŚCI. - Załącznik do Regulaminu w firmie Szkoła j. hiszpańskiego. SERVIACON P. Ortiz Mira, A. Stępniak s.c.

Jak zalogować się po raz pierwszy w serwisie Ford Leasing?

BEZPIECZNE UDOSTĘPNIANIE PLIKÓW

Wersja dokumentu: Data: 28 kwietnia 2015r.

Polityka prywatności Rankosoft Sp. z o.o. Sp. komandytowa

POLITYKA PRYWATNOŚCI

INSTRUKCJA UŻYTKOWNIKA

Dokumentacja użytkownika aplikacji: KanWebOffer v1.14

Instrukcja użytkownika


REJESTRACJA, LOGOWANIE I USTAWIENIA PROFILU

Stosowanie ciasteczek (cookies)

1. Biblioteka aplikacja internetowa umożliwiająca użytkownikom rezerwowanie i wypożyczanie książek oraz administratorom edycję bazy książek i

Wykorzystywanie plików cookies

Polityka Prywatności i Cookies

Transkrypt:

Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić, czy dany klient już z nim wcześniej się łączył. Aby wprowadzić do komunikacji informacje nietracone pomiędzy żądaniami, stosuje się dwie metody: Ciasteczka są to dane przetrzymywane po stronie przeglądarki. Podpinane są pod adres hosta i każdorazowo wysyłane w nagłówku. Zmieniać mogą je obie strony klient i serwer, ale trzymane są po stronie przeglądarki dopóki nie wygasną. Są jawne, widoczne u klienta i w pewnym sensie niebezpieczne. Każde ciasteczko ma wyznaczoną datę wygaśnięcia (po której zostanie skasowane) lub może być tymczasowe do wyłączenia przeglądarki lub karty. Sesje jest to stan, z którym związane jest przetrzymywanie danych, ale po stronie serwera. Logowanie Sesja jest identyfikowana najczęściej poprzez ciasteczko, w którym zapisany zostaje id sesji. Serwer odnajduje u siebie odpowiednią sesje po id i dopiero z niej odczytuje lub zapisuje wrażliwe dane, jak np. id użytkownika. Klient nie ma bezpośredniego dostępu do danych sesji, które są niejawne i w pewnym sensie bezpieczne. Sesja w zależności od serwera może zostać stworzona natychmiast lub po pierwszym wpisie do niej, można to stwierdzić podglądając ciasteczka w przeglądarce. Utrata ciasteczka wiąże się z utratą sesji, która nie zostanie skasowana od razu, a dopiero kiedy minie jej czas wygaśnięcia. Z tego wniosek taki, że są dwa czasy wygaśnięcia. Jeden sesji, drugi ciasteczka z id sesji. Z sesjami ściśle związany jest proces logowania. Logowanie polega w skrócie na powiązaniu sesji z konkretnym użytkownikiem, a co za tym idzie korzystania z jego poświadczeń. W trakcie logowania może zostać stworzona nowa sesja lub tylko powiązana z użytkownikiem. Najprościej jeśli użytkownik poda nam poprawny login i hasło, to wystarczy zapamiętać w sesji id użytkownika. Mając id użytkownika, możemy za każdym razem odczytać id i wyszukać użytkownika bez wymagania podania loginu od klienta. Obecnie często stosuje się logowanie poprzez użytkownika facebook-a lub innego powszechnie stosowanego portalu. W tym przypadku sesja również jest tworzona w systemie, jednakże już nie wymaga pełnej wcześniejszej rejestracji użytkownika. Samo logowanie wykorzystuje sesje fb, która zazwyczaj nie wygasa. Rejestracja Aby się zalogować w systemie na jakieś konto należy wpierw je stworzyć. Najczęściej odbywa się

to poprzez rejestrację. Wymaga to podania danych, którymi będzie się sygnował użytkownik oraz loginu i hasła. Problemem jest możliwość tworzenia wielu kont przez złośliwych użytkowników lub boty, które w ten sposób zakłócają normalną pracę serwisu oraz umieszczają złośliwe treści. Najprostszymi sposobami jest wymaganie podania konta poczty e-mail i wysłanie na niego link z kluczem aktywacyjny oraz używania zagadek oraz rysunkowej chapty, która eliminuje boty. Innym sposobem jest rejestracja przez fb, która ma swoje własne techniki, eliminacje botów oraz fikcyjnych złośliwych użytkowników.

1 Model danych Obsługa sesji w MVC jest domyślnie dostępna, jednakże jeśli chcemy korzystać z możliwość uwierzytelniania użytkowników należy dodać zbiór oraz model danych użytkowników do naszej bazy danych. Jest to najprostszy przykład zawierający tylko id, po którym użytkownik będzie identyfikowany w sesji oraz login i hasło. 2 Rejestracja. Mając już model i bazę danych. Należy utworzyć metody służące do rejestracji nowego użytkownika. Tak jak do tej pory utworzono dwie metody pierwsza wyświetla formularz. Druga odbiera dane i tworzy użytkownika. Jest to bardzo prowizoryczna forma rejestracji, w normalnych warunkach nie do przyjęcia. 3. Logowanie. Posiadając już możliwość dodawania użytkowników, możemy dodać metody logowania. W przypadku logowania metoda odbierająca dane z formularza w pierwszej kolejności sprawdza,

czy użytkownik o danym loginie i użytkowniku istnieje w bazie danych. Jeśli tak to przepisuje jego id do sesji. Najprawdopodobniej po tej czynności w waszej przeglądarce pojawi się ciasteczko ze zmienną sesyjną. Dodatkowo można dodać metodę wylogowania, która odłączy użytkownika od sesji. Trzeba pamiętać, iż do zmiennej sesyjnej, można dodać dowolne inne zmienne niż id użytkownika. A więc wylogowując należało by usunąć je wszystkie razem oraz zmusić serwer, aby porzucił tą sesję. 4. Wykorzystanie sesji w kontrolerach Posiadając funkcjonalność logowania, możemy w każdym z kontrolerów sprawdzić na bazie sesji, czy użytkownik jest zalogowany oraz pobrać jego dane. Dodano pole userid oraz user, do którego z bazy i sesji zostaną przypisane dane użytkownika. Pola te będą dostępne w pozostałych metodach kontrolera. Dodano również nadpisanie metody wirtualnej BeginExecute z klasy Controller jest to metoda, która zostanie uruchomiona przed każdą inna metodą-akcją kontrolera. Metoda ta pobiera id użytkownika z sesji, a następnie użytkownika z bazy danych. userid == null brak zalogowania user == null brak zalogowania lub brak takiego użytkownika Tak więc w pozostałych metodach możemy z łatwością ograniczyć dostęp jedynie dla zalogowanych oraz korzystać z danych zalogowanego użytkownika.

Zadanie Rozszerzyć aplikację z poprzednich zajęć i dodać obsługę logowania. Zbadać np. debugując aplikację oraz narzędziami deweloperskimi chroma, jak zachowuje się sesja. Sprawdzić, czy i jak można ukraść sesję na innej przeglądarce. Dodać funkcjonalność aktywacji konta. Po rejestracji, użytkownik ma nie mieć możliwości się zalogować do systemu. Wymagać aktywacji konta poprzez link z kluczem, po kliknięciu w którego zmieni się status konta. (Przy rejestracji przypisać użytkownikowi unikalny klucz aktywacji oraz dodać dodatkową metodę, która przyjmie parametry z kluczem, odszuka użytkownika i zmieni mu status na aktywny.) (opcjonalne do domu) skonfigurować klienta własnej poczty np. gmail, aby za jej pomocą wysyłać link aktywacyjny. Podpowiedź http://stackoverflow.com/questions/20882891/howcan-i-send-email-using-gmail-smtp-in-asp-net-mvc-application. Wiadomość należy wysłać w metodzie rejestracji dodającej nowego użytkownika. Dla przypomnienia, aplikacja ma służyć do zarządzania biblioteką. Podstawową funkcjonalnością jest wyświetlanie i dodawanie książek do katalogu oraz dodawanie do nich autorów. Dodatkowo aplikacja powinna pozwalać wyszukiwać i usuwać pozycje z katalogu.