CAS (Code access security) to system zabezpieczeń, który pozwala zarządzać dostępem programów do zasobów systemowych. Jest to system dający znacznie więcej możliwości konfiguracji, niż standardowe zarządzanie rolami (RBS, role-based security). Możemy np. określić, czy dana aplikacja może wysyłać zapytania do Internetu, czy otwierać pliki lokalne. Niestety mechanizm ograniczony jest do aplikacji zarządzanych (ang. managed) .NET Framework, pozostałe ograniczone są tylko przez uprawnienia systemu operacyjne...
Strona głównaUżytkownik
sp33d | użytkownik
Powody do używania CAS Assembly Declarations Głównie z trzech powodów używamy CAS Assembly Declarations: 1. Aby zapewnić, że runtime nigdy nie uruchomi aplikacji bez uprawnień do pożądanych zasobów. 2. Do stworzenia tzw. “piaskownicy” dla naszej aplikacji po to, aby atakujący nie mógł nią manipulować 3. Aby zweryfikować, że aplikacja może być uruchomiona z ograniczeniami dostępu CASKlasy dla uprawnień CAS CAS może ograniczyć dostęp do różnego rodzaju zasobów: plików, folderów, drukarek, dostępu ...
CAS może być używany deklaratywnie wtedy kod jest poddany kontroli bezpieczeństwa już na etapie kompilacji przed uruchomieniem kodu lub imperatywnie wtedy kod sam wykonuję kontrolę bezpieczeństwa i decyduje co ma się zdarzyć podczas niepowodzenia. W poprzedniej lekcji było pokazane jak chronić całe assembly. Ale można użyć również CAS do chronienia pojedynczej metody bądź wyodrębnionego kodu.Typy metod Permission Requests Mimo, że są trzy typy deklaracji CAS assembly ( RequestOptional, RequestMinimum, an...
W tej lekcji nauczymy się podstaw ACL jego sposobu analizowania i konfigurowania z poziomu aplikacji.Co to jest Lista Discretionary Access Control A discretionary access control list (DACL) jest mechanizmem do autoryzacji, który identyfikuje użytkowników oraz grupy, które mają dostęp lub jego brak do obiektu. Windows Vista oraz Windows Server 2008, tak jak i wszystkie poprzednie, śledzą przywileje użytkowników, którzy mają dostęp do zasobów za pomocą DACL. Jeśli DACL nie identyfikuje jednoznacznie u...
Nie od dziś wiadomo, że dane (szczególnie te poufne) należy zabezpieczać i zapobiec dostaniu się ich w niepowołane ręce. .NET Framework udostępnia nam klasy które pozwalają zaimplementować szyfrowanie symetryczne, asymetryczne, hashing czy też podpis elektroniczny. Spróbujemy dzisiaj omówić sobie po krótce każdy ze sposobów.Szyfrowanie i deszyfrowanie danych symetrycznie za pomocą klucza Kluczowym elementem w tym szyfrowaniu jest klucz. Klucz musi być znany nadawcy do zaszyfrowania informacji jak i odbi...
Framework .NET pozwala korzystać z systemowego systemu zabezpieczeń opartego na rolach (ang. RBS, Role-based security), Active Directory, lub własnych mechanizmów. Dzięki temu możemy kontrolować do jakich zasobów, czy funkcji użytkownik ma dostęp. Programowo możemy zarządzać autoryzacją (ang. authorization) i autentykacją użytkowników (ang. authentication):Autentykacja – weryfikuje tożsamość użytkownika, określa to kim jest użytkownik; zwykle zachodzi na podstawie nazwy użytkownika i hasła, mogą do tego ...
Framework .NET zapewnia zarządzalne odpowiedniki dla niemal każdej funkcji Win32, którą chcielibyśmy wywołać. Jednak duża ilość istniejącego kodu niezarządzalnego (ang. unmanaged) zmusza osoby tworzące oprogramowanie, aby znały metody korzystania z obiektów COM (Component Object Model). Jako przykładem posłużymy się Microsoft Speech Object Library (%Windir%\System32\Speech\Common\Sapi.dll) – biblioteką dającą dostęp do systemowego mechanizmu syntezy mowy.Niech nasza aplikacja przemówi! Aplikacja może do ...
E-mail jest popularnym mechanizmem komunikacji. Framework .NET zawiera przestrzeń nazw System.Net.Mail, która zawiera klasy wspomagające tworzenie i wysyłanie wiadomości e-mail. W tym artykule skupimy się wyłącznie na tworzeniu wiadomości. Następna lekcja będzie o wysyłaniu. Podstawowa wiadomość Aby wysłać wiadomość należy utworzyć obiekt MailMessage, określić nadawcę, odbiorcę, tytuł (ang. subject) i treść wiadomość (ang. body). Klasa MailMessage zawiera kilka konstruktorów. Najprostszy pozwala nam utw...
Wytyczne dotyczące udostępniania typów .NET dla aplikacji COM Kiedy planujemy udostępniać typy .NET w aplikacjach COM, powinniśmy trzymać się poniższych wytycznych:Typy, metody, właściwości, pola oraz zdarzenia muszą być publiczne.Klasy powinny wyraźnie implementować interfejsy. Możemy również pozwolić aby COM generował nam interfejs automatycznieTypy powinny mieć domyślny, bezparametrowy konstruktor. Należy unikać sparametryzowanych konstruktorówTypy nie mogą być abstrakcyjneNależy unikać statycznych me...
Dzisiaj powiemy sobie o używaniu refleksji, tworzeniu instancji typów, wywoływanie metod do dynamicznego ładowania pakietów, ładowaniu pakietów itd. Przez większość czasu mamy bezpośredni dostęp do typów w trakcie pisania kodu. Są jednak chwilę kiedy warto byłoby załadować assembly, typy i metody zawarte w nim dynamicznie. Na przykład aplikacja, która obsługuje wtyczki powinna być napisana tak aby uruchomić plug-in dynamicznie nawet gdy plug-in nie jest dostępny, podczas opracowywania takiego wniosku.Jak...
Jak wysłać wiadomość Po utworzeniu wiadomości, musimy wysłać ją przez serwer SMTP, który prześle wiadomość do odbiorcy. W .NET klasą, która reprezentuje serwer SMTP jest klasa SmtpClient. Aby wysłać wiadomość wywołujemy SmtpClient.Send. Najczęściej wysyłanie wiadomości jest tak proste jak w poniższym przykładzie(gdzie smtp.contoso.com jest nazwą lokalnego serwera SMTP): 1: MailMessage m = new MailMessage 2: ("[email protected]", 3:"[email protected]", 4:"Quarterly data report.", 5:"Hello, wo...
Web Parts są kolejnym (po Master Pages i Themes) mechanizmem dostępnym w ASP.NET pozwalającym użytkownikowi na dostosowanie witryny do własnych potrzeb. Przed przystąpieniem do omawiania mechanizmu zastanówmy się czemu ten mechanizm powstał? Otóż, wiele stron składa się z wielu komponentów, z których każdych działa samodzielnie i oferuje pewną oderwaną funkcjonalność. Użytkownicy często chcą sami decydować jako komponent i w którym miejscu ma występować, w jakiej postaci (np. standardowej, czy zminimal...
Oryginalny post: A Question of Programming EthicsAutor: Jeff Atwood Z Kodeksu Etycznego ACM: Jako członek ACM będę Przyczyniał się do dobrobytu społeczności oraz ludzi. Unikał krzywdy innych. Był uczciwym i godnym zaufania. Uznawał prawa własności włączając w to prawa autorskie i patenty. Doceniał własność intelektualną. Resp...
Debugując program w pracy krokowej w Visual Studio, możemy podglądać wartości wszystkich zmiennych, jakie są dostępne w zasięgu punktu wykonania. Jest to możliwe za pośrednictwem okienka tzw. czujek (watches). Automatycznie wypełnia się ono zmiennymi lokalnymi oraz ewentualnym wskaźnikiem this, pozwalającym podejrzeć wartości pól obiektu, jeśli znajdujemy się akurat w jego metodzie....
Minęło circa około ~300 dni od kiedy zostałem freelancerem. Przez ten czas dość regularnie otrzymywałem od Was pytania typu "jak to jest?", "jak zacząć?", "jakie są plusy i minusy?"... Czas więc na krótkie zerknięcie wstecz i spisanie kilku porad dla tych, którzy myślą o przejściu na "swoje" i pracy w domu. Freelancowanie może wydawać się szczytem zawodowej rozkoszy, jednak nie wolno myśleć o nim z klapkami na oczach. Przez nierozsądne podejście do tematu można się nieźle sparzyć. Mam nadzieję, że po le...
Globalizacja to proces tworzenia aplikacji która wspomaga nasz “lokalny” interfejs. Przez lokalny należy rozumieć kulturę wyświetlania liczb, dat czy innych informacji. .NET Framework jest w stanie zrobić większość rzeczy za użytkownika, my jednak musimy zrozumieć jak korzystać z przewidzianych narzędzi. Na przykład w Stanach Zjednoczonych separatorem “miejsc po przecinku” (mówiąc po polsku ;) )jest kropka.Ustawienia kultury Możemy użyć dwóch właściwości do ustawienia kultury z jakiej chcemy skorzystać w...
Każdy z nas zna to na pamięć. Bohater filmu podchodzi do komputera. Ikony wielkości dłoni, tak aby nie można się pomylić. W tym momencie rozlega się głośne “you’ve got mail!” i na ekranie (od razu) pojawia się mail. Times New Roman, 200 pikseli. Żeby było łatwiej przeczytać rzecz jasna. Mail oczywiście jest dowodem zdrady męża, ale zupełnie nie...
Jeden z moich klientów korzysta z systemu Joomla i dodatku VirtueMart (moduł sklepu internetowego). Żeby uprościć jego obsługę pomyślałem nad napisaniem aplikacji do aktualizacji cen pobieranych z jakiegoś źródła. Aplikacja korzysta z DBLinq czyli Linq Provider for MySql, Oracle and PostgreSQL. Niestety DBLinq nie ma aktualnie żadnej dokumentacji. Za to znalazłem drobne informacje na stronie Primary Objects. Wykorzystałem wersję 0.18 która jest deprecated ponieważ z 0.19 miałem problem z wygenerowaniem...
Bazy danych i XML 5396 dni, 14 godzin, 33 minuty temu 66 źrodło rozwiń
Ostatnio przeraziłem się, ponieważ po zainstalowaniu .NET Framework 3.5 na serwerze oczekiwałem, ze pojawi się możliwość wybrania ASP.NET 3.5 w IIS Managerze...
Jak zapewne zauważyłeś od jakiegoś czasu trzy razy w tygodniu pojawiały się wpisy, których tytuły zaczynały się od 70-536. Kamil Lemański, Daniel Jarzynka oraz Dawid Tulski przygotowując się do tego egzaminu tworzyli wpisy podsumowujące kolejne lekcje z Training Kita. W tym miejsu zebrałem wszystkie artykuły, które się pojawiły (pojawiły się już wszystkie lekcje z drugiej edycji książki):Podstawy FrameworkuUżycie typów wartościowychUżycie popularnych typów referencyjnychTworzenie klasKonwersja między typ...