<authorization>
<deny users="?" />
<deny users="dan" />
<deny users="jenny" />
<deny users="matthew" />
<allow users="*" />
</authorization>
Можно также использовать список, разделенный запятыми, чтобы запретить доступ сразу нескольким пользователям. Ниже показана версия, эквивалентная предыдущему примеру, которая использует только два правила аутентификации:
<authorization>
<deny users="?" />
<deny users="dan,jenny,matthew" />
<allow users="*" />
</authorization>
Обратите внимание, что в обоих случаях порядок следования этих трех пользователей в списке не важен. Однако важно, чтобы запрет на доступ этим пользователям предшествовал правилу <allow>. Например, следующие правила авторизации не окажут влияния на пользователя jenny, потому что ASP.NET находит правило, разрешающее доступ всем пользователям, и дальше ничего не читает:
<authorization>
<deny users="?" />
<deny users="dan" />
<allow users="*" />
<deny users="jenny" />
</authorization>
Создавая безопасные приложения, часто лучше явно разрешить доступ определенным пользователям и группам, а затем запретить всем остальным (вместо запрета доступа определенным пользователям, как в предыдущих примерах). Приведем пример правил авторизации, которые явно открывают доступ двум пользователям. Запросы всех прочих пользователей не будет удовлетворены, даже несмотря на то, что они аутентифицированы:
<authorization>
<deny users="?" />
<allow users="dan,matthew" />
<deny users="*" />
</authorization>
Следует обратить внимание на одну деталь. Формат имен пользователей в этих примерах предполагает аутентификацию с помощью форм. При такой аутентификации вы назначаете имена пользователям, когда вызываете метод RedirectFromLoginPage(). В этой точке UrlAuthorizationModule также использует это имя и проверит его по списку правил авторизации. Windows-аутентификация несколько отличается, поскольку имена вводятся в формате имя_домена\имя_пользователя или имя_компьютера\имя_пользователя. Вы должны применять такой же формат при перечислении пользователей во всех правилах авторизации.
предыдущая следующая страница вначало главы оглавление
928