Вот как ASP.NET разберет эти правила:
Имейте в виду, что все эти перекрывающиеся правила могут также охватывать множество каталогов. Например, подкаталог может быть закрыт для пользователя, в то время как родительский каталог может быть открыт для пользователя вместе с его группой. В этом случае при обращении к файлам из подкаталога специфичное для пользователя правило применяется первым.
Авторизация на базе URL — один из краеугольных камней авторизации ASP.NET. Однако ASP.NET также использует другой тип авторизации, который часто не распознается. Это авторизация на базе файлов, и ее реализует модуль FileAuthorizationModule. Авторизация на базе файлов работает, только если вы используете Windows-аутентификацию. Если же применяется пользовательская аутентификация или аутентификация с помощью форм, файловая авторизация не используется.
Чтобы понять суть файловой авторизации, вы должны понимать, как операционная система Windows обеспечивает безопасность файловой системы. Если ваша файловая система использует формат NTFS, то вы можете установить списки ACL, специфицирующие личности пользователей и роли, которым открыт или запрещен доступ к индивидуальным файлам. FileAuthorizationModule просто проверяет права доступа к запрошенному файлу, определенные Windows. Например, если вы запрашиваете Web-страницу, FileAuthorizationModule проверяет, имеет ли текущий аутентифицированный IIS пользователь права доступа к соответствующему файлу .aspx. Если не имеет, то код страницы не выполняется и пользователь получает сообщение "доступ запрещен".
Те кто использует ASP.NET впервые, часто удивляются, почему файловая авторизация должна быть реализована отдельным модулем, и почему бы ни положиться в этом на операционную систему? Чтобы понять необходимость в модуле FileAuthorizationModule, необходимо вспомнить, как ASP.NET выполняет код. Если только вы не включаете заимствование прав, ASP.NET по умолчанию исполняется от имени предопределенной учетной записи ASPNET.
предыдущая следующая страница вначало главы оглавление
932