Как уже говорилось в начале этой главы, защита .NET строится поверх системы защиты операционной системы компьютера. Личность, связываемая с потоком при помощи общеязыковой среды выполнения CLR, и личность, связываемая с потоком при помощи операционной системы — это не одно и то же. В операционной системе личность потока представлена значением объекта Windows Identity, возвращаемого статическим методом Windowsldentity: :GetCurrent. Ну, а личность в общеязыковой среде выполнения CLR представлена значением объекта Thread: :CurrentPrincipal8. Если вернуться к примеру, о котором говорилось в начале этой главы, то личности, как управляемые, так и неуправляемые, при доступе к файлу из .NET должны иметь на него права внутри соответствующих сред.
Значения текущего Windowsldentity и текущего Thread: :CurrentPrincipal задаются в двух разных местах: это параметры информационного сервера Internet (US) и конфигурационные файлы ASP.NET.