Sieć www była pierwotnie używana wyłącznie do dostarczania statycznych stron zawierających tekst i obrazki.
Oprogramowanie serwera www było stosunkowo proste, wystarczyło że odbierał on żądania stron identyfikujące adres URL pliku, pobierał plik o wskazanej nazwie z dysku serwera i zwracał go do klienta. Takie rozwiązanie było wystarczające w czasach prehistorycznych, kiedy wszytskie dane na stronach www były statyczne (treść stron się nie zmieniała, nie było potrzeb pobierania danych wejściowych, algortymów itp. oraz strony www miały być dostępne dla wszystkich.
W celu rozwiązania problemów statycznych stron www, wymyślono że na serwerze musi pracować aplikacja, która dynamicznie generuje strony dla klienta. Serwer www musi zapewnić też metodę pobierania od użytkownika danych wejściowych na potrzeby algorytmów działających po stronie serwera wraz z metodą wysyłania wyników z powrotem do użytkownika. Ponieważ niektóre dane (albo ogromna ich większość w przypadku aplikacji biznesowych) są prywatne - czyli dostęp musi być ograniczony, serwer www musi sprawdzić, kim jest użytkownik
Bezpieczeństwo jest ważne w każdym typie programu rozproszonego. Różne typy aplikacji wymagają róznych poziomów zabezpieczeń. Pierwszym zadaniem systemu zabezpieczeń jest uwierzytelnienie - czyli inofrmacja kim jest osoba która się loguje i skąd program ma wiedzieć, że jest to naprawdę ta osoba. Uwierzytelnienie uzytkownika wymaga jakiejś formy formy sprawdzania referencji, którymi legitymuje się użytkownik aplikacji. Jeżeli przedstawione przez użytkownika referencje zostaną przez serwer aplikacji uznane (serwer wie z kim ma do czynienia i jakie zasoby może udostępnić etmu użytkownikowi) wówczas aplikacja może wyświetlić odpowiednią stronę z zakresem uprawnień. Użytkownik, który nie zostanie uwierzytelniony nazyea się ANONIMOWY i kierowany jest on automatycznie do strony logowania lub może być przekeirowany na wskazany portal klienta. System uwierzytelnienia jest bardzo trudnym i skomplikowanym procesem, dlatego nasza firma wykorzystuje sprawdzone metody jakie oferuje środowisko VisualStudio oraz ASP.Net. Środowisko to oferuje trzy rózne mechanizmy uwierzytelnienia:
Standardowe uwierzytelnianie Windows z IIS;
Forms - oparte o formularze - aplikacja wymaga, aby wszystkie moduły obsługujące żądania stron zawierały cookies wydane przez serwer. Jest to domyślne rozwiązanie naszych aplikacji. Próba dostępu użytkowników do zasobów zabezpieczonych bez cookies powoduje automatyczne przekierowanie do strony logowania, która weryfikuje referencje wydające cookies.
Passport - rozwiązanie oparte na identyfikatorze użytkownika, ale cookies są wydawane przez serwis uwierzytelnienia Microsoft.
Aplikacje internetowe
Pojedyńczy komputer jest nudny, podobnie jak nudny jest organizm jednokomórkowy. Fakt, że za pomocą komputera można układać pasjansa, czasem napisać i wydrukować jakieś pismo, opracować arkusz kalulacyjny, nie stanowią dla większej korzyści ekonomicznej dla przedsiębiorstwa. Pojedyńczy komputer nie potrafi robić wielu interesujących rzeczy, jeżeli jego możliwości są ograniczone do jego własnych zasobów (obudowy). Jednak jeżeli taki komputer podłączymy do internetu, czyli do sieci innych "żyjących" na świecie podobnych stworzeń (inteligentnych inaczej) zaczynają się dziać ciekawe rzeczy. Zupełnie jak organizmy jendokórkowe w wyniku ewolucji zaczeły się łączyć ze sobą tworząć organizmy wielokomórkowe. Sieć www, zaczęła swoja karierę, jako rozwiązanie do prezentowania statycznych raportów, wyników badań prac naukowych z fizyki. Wymiana informacji, dzięki takiemu rozwiązaniu znalazła zupełnie inne oblicze. Sprzęt i przesyłanie danych stają coraz łatwej dostępne i tańsze, powoduje powstanie nowych problemów, tym raze dotyczących oprogramowania. Pisanie oprogramowania niezbędnego do utrzymania bezpieczeństwa aplikacji inetrnetowych jest coraz trudniejsze.
Dlaczego rozwiązania internetowe - oparte o przeglądarkę internetową ?
nieograniczony dostęp do swojego
programu, z każdego miejsca na ziemi
możliwość wglądu do danych firmy, wypoczywając na wakacjach
możliwość rejestracji dokumentów np. wystawić fakturę w kawiarence internetowej na drugim krańcu Polski lub Świata
nie trzeba nic instalować, wystarczy, że znać swój login i hasło.
bezpieczeństwo danych: baza MS SQL chroni dane przed utratą spowodowaną awarią komputera, przypadkowym skasowaniem, czy też działaniem wirusów albo po prostu przed kradzieżą lub zagubieniem laptopa.
Problem z pisaniem aplikacji internetowych nie leży w logice biznesowej, która znana jest od lat 90 tych, kiedy komputery klasy PC zaczęto wykorzystywać do prac biurowych w środowsku DOS. Logika nowych aplikacji biznesowych nie odbiega znacząco od tych z lat 90tych, jednak sam fakt implementowania aplikacji na różnych urządzeniach połączonych do internetu powodują zupełnie nową jakość problemów informatycznych do rozwiązania, a w szczególności bezpieczeństwo aplikacji internetowych. Internet ma charakter publiczny i niekontrolowany. Programiści piszący aplikacje w latach 90tych, a w szczególności aplikację DOSowe, generalnie nie stosowali żadnych funkcji zabezpieczających, gdyż o ile komputerów znajdował się w pomieszczeniu zamykanym na klucz, ich dane były stosunkowo bezpieczne. Aplikacje w wersjach internetowych wymagają zupełnie innego podejścia do kwestii bezpieczeństwa. Samodzielne pisanie procedur bezpieczeństwa jest wyjątkowo trudne i kosztowne (aplikacje zabezpieczeń wymagają: oprogramowania, debugowania, testowania, wdrażania, administrowania itp). Procownicy w firmie przychodzą i odchodzą, to znów rodzi kolejne problemy bezpieczeństwa oraz wiedzy o tym jak to działa.
Chyba nikt, z programistów piszących aplikacje biznesowe dla przedsiębiorstw nie jest ekspertem od algorytmów zabezpieczających, szyfrujących, uwierzytelniających, dlatego warto jest wykorzystać standardy oferowane przez Microsoft dostępne za pomocą platformy .Net (dot net) - zamiast wywarzać otwarte drzwi i samodzielnie próbować tworzyć rozwiązania.