Widzieć
Z gazety:
... Algorytm kontroli stosu stosowany w obecnych systemach Java można uznać za uogólnienie następującego prostego modelu kontroli stosu :
W tym modelu jedynymi zasadami są „system” i „niezaufany”. Podobnie jedynym dostępnym przywilejem jest „pełny”. Ten model przypomina system kontroli stosu używany wewnętrznie w Netscape Navigator 3.0.
W tym modelu każda ramka stosu jest oznaczona nazwą główną („system”, jeśli ramka wykonuje kod, który jest częścią maszyny wirtualnej lub jej wbudowanych bibliotek, a poza tym „niezaufana”) i zawiera flagę uprawnień, która może być ustawiony przez klasę systemową, która decyduje się „włączyć swoje uprawnienia”, wyraźnie stwierdzając, że chce zrobić coś niebezpiecznego. Niezaufana klasa nie może ustawić swojej flagi uprawnień. Po wyjściu ramki stosu jej flaga uprawnień (jeśli istnieje) automatycznie znika.
Wszystkie procedury dotyczące wykonywania niebezpiecznej operacji, takie jak dostęp do systemu plików lub sieci, najpierw stosują algorytm kontroli stosu, aby zdecydować, czy dostęp jest dozwolony. Algorytm kontroli stosu analizuje ramki na stosie dzwoniącego w kolejności od najnowszej do najstarszej. Wyszukiwanie kończy się, umożliwiając dostęp, po znalezieniu ramki stosu z flagą uprawnień. Wyszukiwanie kończy się również, zabraniając dostępu i zgłaszając wyjątek, po znalezieniu niezaufanej ramki stosu (która nigdy nie mogłaby otrzymać flagi uprawnień). ...