Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Podobne dokumenty
Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Aplikacje www laboratorium

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Dodawanie nowego abonenta VOIP na serwerze Platan Libra

Windows Server 2012 Active Directory

Java wybrane technologie

Instalacja serwera zarządzającego F-Secure Policy Manager

Aplikacje internetowe - laboratorium

Pracownia internetowa w szkole ZASTOSOWANIA

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Windows Server Serwer RADIUS

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

asix Autoryzacja dostępu do zasobów WWW systemu asix (na przykładzie systemu operacyjnego Windows 2008)

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

4. Podstawowa konfiguracja

Aktualizacja SMSFall v Data publikacji:

Instalacja i konfiguracja serwera IIS z FTP

pomocą programu WinRar.

11. Autoryzacja użytkowników

SOLIDWORKS PDM Tworzenie kopii zapasowych.

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Procedury techniczne modułu Forte Kontroling. Ustawienia IIS

Instrukcja konfiguracji funkcji skanowania

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Program Rabator dla Microsoft Windows.

Tomasz Greszata - Koszalin

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Oracle9iAS: instalacja i konfiguracja aplikacji J2EE

Podpisywanie i bezpieczne uruchamianie apletów wg

GPON Huawei HG8245/HG8245T/HG8245H/HG8546M/ HG8245Q/HS8546V/HS8145V

Problemy techniczne SQL Server

Przykład konfiguracji koncentratora SSL VPN w trybie Reverse Proxy (dotyczy serii urządzeń ZyWALL USG)

Finanse VULCAN. Jednostki dodaje i konfiguruje administrator główny platformy (w aplikacji Zarządzanie platformą).

Problemy techniczne SQL Server

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

BACKUP BAZ DANYCH FIREBIRD

Instrukcja obsługi serwera FTP v

Programowanie komponentowe 5

Aplikacje WWW - laboratorium

Zdalny dostęp SSL. Przewodnik Klienta

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

GPON Huawei HG8245/HG8245T/HG8245H

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services

1.1 Podłączenie Montaż Biurko Montaż naścienny... 4

Aplikacja npodpis do obsługi certyfikatu

Aplikacje WWW - laboratorium

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Ko n f i gura cja p ra cy V ISO z bazą SQL S e rve r

Aplikacja npodpis do obsługi certyfikatu

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Problemy techniczne SQL Server

Konfiguracja i przygotowanie środowiska do współpracy z infrastrukturą PL-Grid

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Programowanie wielowarstwowe i komponentowe

Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM

Instrukcja szybkiej instalacji. Przed przystąpieniem do instalacji należy zgromadzić w zasięgu ręki wszystkie potrzebne informacje i urządzenia.

Zastosowanie komponentów EJB typu Session

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Problemy techniczne SQL Server

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Aplikacja npodpis do obsługi certyfikatu

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Aplikacja npodpis do obsługi certyfikatu

Konfiguracja własnego routera LAN/WLAN

Dokładniejsze informacje można znaleźć w Podręczniku użytkownika.

DESlock+ szybki start

Przewodnik po Notowaniach Statica mdm 4

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Serwery LDAP w środowisku produktów w Oracle

KORZYSTANIE Z BAZY DANYCH UpToDate

Zaawansowane aplikacje internetowe - laboratorium

Linksys/Cisco SPA2102, SPA3102 Instrukcja Konfiguracji

Transkrypt:

Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application Server (GlassFish) 2. Definiowanie ról w serwerze Tomcat Web Server 3. Konfigurowanie logowania 4. Wstawianie ról użytkowników do aplikacji 5. Tworzenie i konfiguracja ograniczeń bezpieczeństwa dla typu użytkownika administrator z największymi ograniczeniami 6. Tworzenie i konfiguracja ograniczeń bezpieczeństwa dla typu użytkownika z wybranymi ograniczeniami 7. Ustawienie czasu sesji 8. Zawartość deskryptora aplikacji web.xml 9. Mapowanie mechanizmów bezpieczeństwa z aplikacji do serwera aplikacji - uruchomienie aplikacji w trybie uwierzytelniania Form-Based Authentication, zabezpieczenia przez role 10. Uruchomienie aplikacji w trybie uwierzytelniania Basic-Based Authentication, zabezpieczenia przez role

1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application Server (GlassFish) 1) Dodanie użytkowników do Serwera aplikacji JavaEE Uruchom Serwer aplikacji (np. klikając prawym klawiszem myszy w zakładce Servicesśrodowiska NetBeans6.1na opcję GlassFish V2 i wybierając z menu pozycję Start ) Uruchom Admin Console (np. klikając prawym klawiszem myszy w zakładce Services na opcję GlassFish V2 i wybierając z menu pozycję View Admin Console lub po uruchomieniu przeglądarki podając adres url np. http://localhost:13780/login.jsf. Port serwera np. 13780 jest indywidualnie ustalany podczas instalacji serwera.) Należy zalogować się podając np.. Nazwę użytkownika admin oraz hasło adminadmin (można to zmienić albo podczas instalacji lub wg wskazówek poadnych w dalszej części) Należy wybrać opcję Configuration w drzewie Admin Console. Należy wybrać opcję Security w drzewie Admin Console. Należy wybrać opcję Realms: 1. Należy wybrać opcję admin-realm do wstawienia użytkowników występujących w roli administratorów Serwera Aplikacji. 2. Należy wybrać opcję file do wstawienia nowego użytkownika, który może być uwierzytelniany w aplikacjach JavaEE 3. Do opcji certificate można wprowadzić jedynie certyfikaty ustalone np. za pomocą narzędzia keytool

Ad 1, 2 file, admin-realm Kliknij na przycisk Manage Users. Kliknij na przycisk New w celu dodania nowego użytkownika. Podaj poprawny dane do pól User ID, typu Password i Group List Jeśli dodaje się użytkownika do file realm, wstawione dane służą do rozpoznania danych użytkowników aplikacji JavaEE wstawianych do formularza logowania podczas uruchamiania tej aplikacji. Jeśli dodaje się użytkownika do admin-realm, wstawione poprawne dane do pól User ID, typu Password służą do rozpoznania danych serwera aplikacji JavaEE, natomiast należy wstawić asadmin w polu Group List Kliknij na przycisk OK w celu dodania nowego użytkownika. Kliknij na przycisk Logout w celu zakończenia zadania. 2) ***Dodawanie użytkowników do Certificate Realm W bazie certificate realm, dane identyfikujące użytkownika są używane do weryfikowania danych otrzymywanych z certyfikatów klientów

1) Dodanie użytkowników do Serwera aplikacji JavaEE

Wstawienie zwykłego użytkownika z ograniczonymi uprawnieniami, które zostaną ustawione na poziomie aplikacji

Wstawienie użytkownika z pełnymi uprawnieniami, które zostaną ustawione na poziomie aplikacji

2. Definiowanie ról w serwerze Tomcat Web Server

3. Konfigurowanie logowania deskryptor aplikacji web.xml po wybraniu opcji Security -> Login Configuration (deklaratywne konfigurowanie mechanizmów bezpieczeństwa w kontenerze internetowym )

4. Wstawianie ról użytkowników do aplikacji deskryptor aplikacji web.xml po wybraniu opcji Security-> Security Roles (deklaratywne konfigurowanie mechanizmów bezpieczeństwa w kontenerze internetowym )

5. Tworzenie i konfiguracja ograniczeń bezpieczeństwa dla typu użytkownika administrator z największymi ograniczeniami deskryptor aplikacji web.xml po wybraniu opcji Security->Security Constraints (deklaratywne konfigurowanie mechanizmów bezpieczeństwa w kontenerze internetowym )

5.1. Podanie nazwy AdministratorConstraint ograniczeń w Display name

5.2. Dodanie kolekcji autoryzowanych adresów URL za pomocą opcji Web Resources Collection -> Add ustawiono dostęp do wszystkich stron o wzorcu adresu URL /faces/*

5.3. Przypisanie roli administrator1 do ustawianych ograniczeń AdministratorConstraint za pomocą opcji Enable Authentication Constraint i wyborze Edit

5.4. Przypisanie niezabezpieczonego protokołu transportu do ustawianych ograniczeń AdministratorConstraint za pomocą opcji Enable User Data Constrant i Transport Guarantee = NONE

6. Tworzenie i konfiguracja ograniczeń bezpieczeństwa dla typu użytkownika z wybranymi ograniczeniami deskryptor aplikacji web.xml po wybraniu opcji Security->Security Constraints (deklaratywne konfigurowanie mechanizmów bezpieczeństwa w kontenerze internetowym ). Po wyborze opcji Display Name nadano nazwę ograniczeniom KlientConstraint

6.1. Dodanie kolekcji autoryzowanych wybranych wzorców adresów URL za pomocą opcji Web Resources Collection -> Add

6.2. Przypisanie roli klient1 do ustawianych ograniczeń KlientConstraint za pomocą opcji Enable Authentication Constraint i wyborze Edit

6.3. Przypisanie niezabezpieczonego protokołu transportu do ustawianych ograniczeń KlientConstraint za pomocą opcji Enable User Data Constrant i Transport Guarantee = NONE

7. Ustawienie czasu sesji

8. Zawartość deskryptora aplikacji web.xml

Definicja ról i systemowy formularz logowania

9. Mapowanie mechanizmów bezpieczeństwa z aplikacji do serwera aplikacji za pomocą mapowania ról bezpieczeństwa z pliku web.xml do deskryptora serwera aplikacji sun-web.xml

9.1. Mapowanie roli do encji prezentowanych przez administratora za pomocą opcji Add Principal

9.2. Mapowanie roli do encji prezentowanych przez klienta za pomocą opcji Add Group

9.3. Zawartość deskryptora serwera aplikacji

9.4. Uruchomienie aplikacji w trybie uwierzytelniania Basic-Based Authentication HTTP, zabezpieczenia przez role

Niedostępne strony dla użytkownika klient występującego w roli klient1 (objęte ograniczeniem Web Resource Collection)

10. Uruchomienie aplikacji w trybie uwierzytelniania Form-Based Authentication, zabezpieczenia przez role

10.1. Deklaracja formularza okna logowania w pliku deskryptora aplikacji web.xml

10.2. Zawartość formularza logowania

10.3. Zawartość okna obsługi błędu logowania

10.4.Uruchomienie aplikacji w trybie uwierzytelniania Form, zabezpieczenia przez role

Niedostępne strony dla użytkownika występującego w roli klient1 (objęte ograniczeniem Web Resource Collection)

11. Programowe mechanizmy bezpieczeństwa aplikacji (na poziomie kontenera) Interfejs HttpServletRequest dostarcza następujące metody umożliwiające dostęp do informacji o bezpieczeństwie dostępu nałożonym na użytkownika aplikacji: 1. getremoteuser: podaje nazwę zdalnego użytkownika, który był uwierzytelniony. Jeśli nie uwierzytelniano użytkownika, metoda zwraca null. 2. isuserinrole: określa czy zdalny użytkownik występuje w roli podanej jako parametr typu String metody isuserinrole. Jeśli nie uwierzytelniano użytkownika, metoda zwraca false. Można również użyć jako parametru metody roli zdefiniowanej za pomocą adnotacji @DeclareRoles lub nazwy roli zdefiniowanej w zasięgu elementu <security-role-ref> w zagnieżdżonym elemencie <role-name> w deskryptorze aplikacji. 3. getuserprincipal: podaje nazwę typu principal bieżącego użytkownika i zwraca obiekt typu java.security.principal. Jeśli nie uwierzytelniano użytkownika, metoda zwraca null.

Ad. 2

Ad.3 - W klasie Page1.java strony startowej w metodzie prerender pobrano metodą getexternalcontext obiekt implementujący interfejs HttpServletRequest i następnie metodą getuserprincipal pobrano obiekt typu java.security.principal, reprezentujący nazwę uwierzytelnionego użytkownika. Pobrana nazwa jest porównana z nazwą klient. Jeśli uwierzytelniony użytkownik ma nazwę klient, wartość atrybutu wylacz w SessionBean1 jest ustawiona na false. Nazwę użytkownika należy pobierać np. z pliku w przykładzie wbudowano nazwę w kod źródłowy, co pogarsza elastyczność i bezpieczeństwo rozwiązania!

Definicja atrybutu wylacz typu boolean w klasie SessionBean1

Powiązanie w klasie Tytuly.java strony aplikacji właściwości rendered przycisku dodajtytul typu Button z atrybutem wylacz typu boolean w klasie SessionBean1. Domyślna wartość zmiennej wylacz jest równa true, natomiast po uwierzytelnieniu bieżącego klienta o nazwie klient wartość atrybutu jest ustawiona na false wtedy kod html przycisku jest usunięty ze strony w fazie response.

Po uwierzytelnieniu klienta o nazwie klient nie wyświetla się przycisk dodajtytul

Po uwierzytelnieniu klienta o nazwie administrator wyświetla się przycisk dodajtytul