Поделиться через


Пошаговое руководство. Фильтрация узлов карты веб-узла на основе ролей безопасности

Обновлен: Ноябрь 2007

Частое требование для веб-узлов — ограничение доступа к определенным страницам. Сочетание управления ролями ASP.NET и авторизации URL-адресов ASP.NET предоставляет способ ограничения доступа к веб-файлам на основе ролей безопасности. Карты веб-узлов завершают картину путем использования такой функции, как фильтрация по ролям безопасности, для скрытия ссылок перехода к файлам с ограниченным доступом, также на основе ролей.

Роль — это имя группы пользователей. После установки ролей можно ввести в состав роли отдельные учетные записи пользователей. В картах веб-узла можно ограничить доступ к веб-файлам и узлам на основе ролей.

В этом пошаговом руководстве вы узнаете, как выполнить следующие задачи:

  • Создание веб-узла с членством и пользовательским входом.

  • Установка ролей для веб-узла и распределение учетных записей пользователей по этим ролям.

  • Создание правил авторизации URL-адресов, которые выборочно предоставляют или ограничивают доступ к страницам.

  • Создание карты веб-узла и включение фильтрации по ролям безопасности.

  • Создание меню переходов на веб-странице.

Обязательные компоненты

Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты:

  • Microsoft Visual Web Developer.

  • Платформа .NET Framework.

  • Службы IIS, установленные локально на компьютере.

  • Также для этого пошагового руководства требуется способ идентификации отдельных учетных записей пользователей. В рабочих приложениях можно идентифицировать пользователей разными способами, в том числе по их учетным записям Windows. Однако в данном пошаговом руководстве пользователи будут идентифицировать себя путем авторизации на веб-узле. Следовательно, для выполнения этого пошагового руководства требуется, чтобы веб-узел был настроен на использование проверки подлинности с помощью форм и членства ASP.NET. Если настроенный веб-узел с членством уже есть, то можно использовать его в качестве отправной точки для данного пошагового руководства.

Создание веб-узла с членством и пользовательским входом

Перед началом работы с членством и ролями ASP.NET необходимо иметь доступный веб-узел; также необходимо настроить веб-узел, чтобы включить членство и задать роли. Если Пошаговое руководство. Создание веб-узла с членством и именами пользователей уже выполнено, то можно использовать веб-узел, настроенный в данном пошаговом руководстве.

Создание веб-узла

Если веб-узел уже создан в Visual Web Developer (например, Пошаговое руководство. Создание базовой веб-страницы в Visual Web Developer), то можно использовать этот веб-узел и перейти к следующему подразделу. В противном случае создайте новый веб-узел и страницу, выполнив следующие действия.

Создание локального веб-узла IIS

  1. Откройте Visual Web Developer.

  2. В меню Файл выберите пункт Создать веб-узел.

    Откроется диалоговое окно Создать веб-узел.

  3. В группе Установленные шаблоны Visual Studio выберите Веб-узел ASP.NET.

  4. В раскрывающемся списке Язык выберите язык программирования, с которым вы предпочитаете работать.

  5. В раскрывающемся списке Расположение выберите HTTP.

    В качестве альтернативы можно выбрать вариант Файловая система, если сервер IIS недоступен. Тем не менее, использование варианта HTTP сходно с реальным сценарием разработки и позволяет проверить страницы путем их просмотра в обозревателе.

  6. Нажмите кнопку Обзор.

    Откроется диалоговое окно Выбор папки. Если на предыдущем шаге был выбран вариант HTTP, то должен быть выбран вариант Локальный веб-сервер IIS. Если это не так, выберите вариант Локальный веб-сервер IIS.

  7. Выберите узел Веб-узел по умолчанию.

  8. Щелкните значок Создать новое веб-приложение (в верхнем правом углу) и затем назовите новый веб-узел SiteNavigation.

  9. Нажмите кнопку Открыть, а затем нажмите кнопку ОК.

    Visual Web Developer создаст веб-узел и откроет новую страницу с именем Default.aspx. По умолчанию Visual Web Developer создаст новые страницы с соответствующим файлом с выделенным кодом — в данном случае, Default.aspx.cs. Это можно изменить при создании последующих новых страниц путем использования мастера Добавление нового элемента.

    ms178429.alert_note(ru-ru,VS.90).gifПримечание.

    Иногда, если перед Visual Web Developer была установлена предыдущая версия платформы .NET Framework, возможно получение ошибки настройки веб-узла с использованием последней версии платформы .NET Framework. Ее можно исправить, нажав кнопку Да в появившемся диалоговом окне, включив тем самым ASP.NET версии 2.0 на сервере, или путем использования диспетчера IIS. В диспетчере IIS щелкните правой кнопкой мыши приложение, выберите пункт Свойства и выберите вкладку ASP.NET. В поле Версия ASP.NET выберите версию платформы .NET Framework, которая была установлена с Visual Web Developer.

Включение членства и создание пользователя

Если членство еще не включено, используйте следующую процедуру для его включения. В противном случае перейдите к следующему подразделу.

Включение членства

  1. В Visual Web Developer в меню Веб-узел выберите пункт Конфигурация ASP.NET.

    Отобразится средство администрирования веб-узла.

  2. Выберите вкладку Безопасность в разделе Пользователи, выберите вариант Выбор типа проверки подлинности, выберите Через Интернет, а затем нажмите кнопку Готово.

    Этот параметр указывает, что приложение будет использовать проверку подлинности с помощью форм, при которой пользователи будут входить в приложение с помощью страницы входа, которую предстоит создать позже в этом пошаговом руководстве.

  3. На вкладке Безопасность нажмите кнопку Создать пользователя.

    Будут созданы две учетные записи пользователей для приложения.

  4. В поле Создать пользователя введите информацию, определяющую пользователя приложения. Используйте следующие значения, как подсказку. Можно использовать любые значения, но не забудьте записать их, чтобы позже использовать в этом пошаговом руководстве.

    • Имя пользователя   Используйте имя Customer01, которое будет именем первой учетной записи пользователя.

    • Пароль   Используйте пароль по выбору, предпочтительно надежный пароль, содержащий не менее восьми знаков и включающий как прописные и строчные буквы, так и знаки пунктуации.

    • Электронная почта   Используйте адрес электронной почты в правильном формате. В качестве альтернативы можно использовать несуществующий адрес электронной почты, поскольку в этом пошаговом руководстве не производится отправка электронной почты.

    • Контрольный вопрос и контрольный ответ   Введите вопрос и ответ на него, которые могут быть использованы позже, если необходимо будет восстановить пароль.

  5. Установите флажок Активный пользователь и нажмите кнопку Создать пользователя.

  6. Нажмите кнопку Продолжить на странице подтверждения.

  7. Повторите три предыдущих шага для создания еще одной учетной записи пользователя с именем Employee01. (При создании ролей для этих учетных записей пользователей будут использоваться имена, состоящие из строчных букв.)

  8. Нажмите кнопку Назад в нижнем правом углу страницы, чтобы вернуться к начальной странице Безопасность.

Создание страницы входа пользователя

Для проверки параметров членства и ролей, которые будут настроены далее в этом пошаговом руководстве, необходимо обеспечить способ входа пользователей, чтобы их можно было идентифицировать.

Создание страницы по умолчанию для всех пользователей, отображающей статус входа

  1. Откройте страницу Default.aspx и переключитесь в режим конструктора.

    Если страница Default.aspx отсутствует, добавьте ее в корень веб-узла.

    ms178429.alert_note(ru-ru,VS.90).gifПримечание.

    Обязательно назовите страницу Default.aspx, поскольку это имя будет использоваться далее в этом пошаговом руководстве.

  2. Из группы Вход в панели элементов перетащите на страницу элемент управления LoginStatus.

    Элемент управления LoginStatus автоматически приведет пользователей на страницу Login.aspx, если они еще не зарегистрировались.

  3. Установите курсор справа от элемент управления LoginStatus, нажмите клавишу ВВОД и введите следующий текст, включая дополнительный пробел: Hello .

  4. Из группы Вход в панели элементов перетащите на страницу элемент управления LoginName.

    Элемент управления LoginName будет отображать имя пользователя, если пользователь вошел в систему.

  5. Сохраните страницу и закройте ее.

Теперь имеется домашняя страница, доступная всем пользователям. Следующим шагом является создание простой страницы входа.

Создание страницы входа в систему

  1. Добавьте страницу с именем Login.aspx в корень веб-узла.

  2. Откройте страницу Login.aspx и переключитесь в режим конструктора.

  3. Из группы Вход панели элементов перетащите на страницу элемент управления Login.

  4. Щелкните правой кнопкой мыши элемент управления Login, выберите пункт Свойства, а затем установите для свойства DestinationPageUrl значение Default.aspx.

  5. Сохраните страницу и закройте ее.

Установка ролей для веб-узла и распределение пользователей по ролям

Перед началом работы с фильтрацией по ролям безопасности необходимо настроить роли пользователей.

Включение ролей

Для работы фильтрации по ролям безопасности необходимо включение ролей.

Включение ролей

  1. В Visual Web Developer в меню Веб-узел выберите пункт Конфигурация ASP.NET.

    Отобразится средство администрирования веб-узла.

  2. Перейдите на вкладку Безопасность и нажмите Включить роли.

Создание ролей и распределение учетных записей пользователей по этим ролям

Теперь роли включены, но пока роли не созданы и учетные записи пользователей не распределены по ним, невозможно создать правила доступа.

Создание ролей и распределение учетных записей пользователей

  1. Если средство администрирования веб-узла закрыто, выполните следующие шаги для его открытия: в Visual Web Developer в меню Веб-узел выберите пункт Конфигурация ASP.NET.

    Отобразится средство администрирования веб-узла.

  2. Перейдите на вкладку Безопасность и нажмите кнопку Создание ролей и управление ими.

    Предполагается создание двух ролей.

  3. В поле Создать новую роль введите customers, а затем нажмите кнопку Добавить роль.

  4. Повторите предыдущий шаг, чтобы создать роль с именем employees.

  5. В поле Имя роли рядом с customers выберите вариант Управление.

    Это приведет вас на страницу, где можно будет выбрать учетные записи пользователей из списка для добавления к роли customers.

  6. В поле Поиск пользователей выберите вариант Все.

    При этом отобразятся все учетные записи пользователей веб-узла. Кроме того, можно вести поиск по первой букве имени пользователя, если список слишком длинный.

  7. Рядом с именем пользователя Customer01 выберите поле в столбце Пользователь в роли.

    Пользователь Customer01 теперь является членом роли customers.

  8. Нажмите кнопку Назад, чтобы вернуться к странице Создать новую роль.

  9. Повторите предыдущие два шага для добавления пользователя Employee01 к роли employees.

  10. Закройте страницу администрирования приложения ASP.NET.

Создание правил, которые выборочно предоставляют или ограничивают доступ к страницам

Чтобы проверить фильтрацию по ролям безопасности, необходимо создать несколько папок и страниц на веб-узле, а затем задать в этих папках и страницах разрешения безопасности.

Создание необходимых папок и страниц для этого пошагового руководства

Веб-узел будет содержать структуру карты веб-узла, ссылающуюся на несколько страниц, которые можно создать сейчас.

Создание необходимых папок и страниц

  1. В обозревателе решений щелкните правой кнопкой мыши корень веб-узла, выберите команду Создать папку и назовите папку EmployeesOnly.

    Папка EmployeesOnly будет содержать страницу, доступную только некоторым пользователям.

  2. Щелкните правой кнопкой мыши корень веб-узла, выберите команду Создать папку и назовите папку Customers.

    Папка Customers также будет содержать страницу, доступную только некоторым пользователям.

  3. В папке EmployeesOnly создайте новую страницу с именем Discounts.aspx.

  4. В папке Customers создайте новую страницу с именем Support.aspx.

  5. В корне веб-узла создайте четыре новые страницы с именами Hardware.aspx, Software.aspx, Training.aspx и Consulting.aspx.

  6. На каждой из только что созданных новых страниц перейдите в режим конструктора, введите заголовок страницы в верхней части страницы и затем отформатируйте заголовок с помощью тега <H1>, чтобы можно было идентифицировать страницу при переходе к ней.

  7. Сохраните новые страницы и закройте их.

Создание правил доступа

Создаваемый веб-узел позволит пользователям получать доступ к разным страницам в соответствии с их ролями. Соответственно, необходимо создать правила доступа, определяющие, какие роли имеют доступ к каким папкам.

Установка правил доступа для папки EmployeesOnly

  1. В Visual Web Developer в меню Веб-узел выберите пункт Конфигурация ASP.NET.

    Отобразится средство администрирования веб-узла.

  2. На вкладке Безопасность нажмите кнопку Управление правилами доступа и затем щелкните Добавление новых правил доступа. Появится страница Добавить новое правило доступа.

  3. В разделе Выберите каталог для данного правила разверните корневой узел и выберите каталог EmployeesOnly.

  4. В разделе Правило применяется к щелкните Роль, а затем в поле щелкните employees.

  5. В разделе Разрешение выберите Разрешить.

    Только что созданное правило предоставляет разрешение на доступ к папке EmployeesOnly всем, кто входит в состав роли employees.

  6. Нажмите кнопку .

    Новое правило отобразится в сетке в таблице Управление правилами доступа. При запросе пользователем страницы из папки EmployeesOnly правила проверяются по порядку сверху вниз, чтобы определить, разрешен ли пользователю доступ к странице. Если пользователь не входит в роль employees, то страницы в папке не будут отображены.

  7. Щелкните ссылку Добавить новое правило доступа.

  8. В разделе Правило применяется к выберите Все пользователи.

  9. В разделе Разрешение выберите Запретить и нажмите кнопку ОК.

    Второе правило для папки EmployeesOnly гарантирует, что никто, кроме пользователей, входящих в роль employees, не сможет получить доступ к папке. Правила обрабатываются по порядку сверху вниз, как они отображаются в сетке.

    Первое правило (Разрешить) наделяет правами доступа пользователей, выполняющих роль employees. Второе правило («Запретить») запрещает доступ всем остальным пользователям. Можно создать столько правил «Разрешить» или «Запретить», сколько требуется для приложения. При запросе пользователем страницы из папки EmployeesOnly правила проверяются по порядку сверху вниз, чтобы определить, разрешен ли пользователю доступ к странице.

В следующем шаге предыдущая процедура повторяется для папки Customers. При этом обе роли (customers и employees) могут использоваться для получения доступа к папке Customers. В качестве примера реального сценария рассмотрите компанию, в которой необходимо, чтобы сотрудники службы телефонной поддержки имели доступ к тем же страницам, которые видны клиентам.

Настройка правил доступа для папки Customers

  1. Щелкните ссылку Добавить новое правило доступа.

  2. В разделе Правило применяется к выберите поле Роль, а затем в поле выберите customers.

  3. В разделе Разрешение выберите вариант Разрешить и нажмите кнопку ОК.

    Созданное правило наделит правами доступа к папке Customers всех, кто выполняет роль customers.

  4. В разделе Управление правилом доступа щелкните Customers.

  5. Щелкните ссылку Добавить новое правило доступа.

  6. В разделе Правило применяется к выберите Роль, а затем в поле выберите employees.

  7. В разделе Разрешение выберите вариант Разрешить и нажмите кнопку ОК.

    Созданное правило наделит правами доступа к папке Customers всех, кто выполняет роль employees.

  8. В разделе Управление правилом доступа щелкните Customers.

  9. Щелкните ссылку Добавить новое правило доступа.

  10. В разделе Правило применяется к выберите Все пользователи.

  11. В разделе Разрешение выберите поле Запретить и нажмите кнопку ОК.

    Первое и второе правила для папки Customers гарантируют, что никто, за исключением пользователей с учетными записями, входящими в состав роли customers или employees, не сможет получить доступ к папке Customers. Правила обрабатываются по порядку сверху вниз, как их можно увидеть в сетке.

    Первое правило (Разрешить) наделяет правом доступа пользователей с учетной записью, входящей в состав роли. Второе правило (Запретить) запрещает доступ всем пользователям. Можно создать столько правил «Разрешить» или «Запретить», сколько требуется для приложения. При запросе пользователем страницы из папки Customers правила проверяются по порядку сверху вниз, чтобы определить, разрешать ли пользователю доступ к странице.

  12. Нажмите кнопку Готово, чтобы вернуться на вкладку Безопасность.

Создание карты веб-узла и включение фильтрации по ролям безопасности

В этой части пошагового руководства будет создана карта веб-узла для описания структуры переходов веб-узла и для включения фильтрации по ролям безопасности узлов карты веб-узла путем изменения файла Web.config.

Создание карты веб-узла

Для использования структуры переходов веб-узла необходим способ описания расположения страниц в веб-узле. Метод по умолчанию создает XML-файл, содержащий иерархию веб-узла, в том числе заголовки и URL-адреса страниц.

Каждая страница на карте веб-узла представлена как элемент siteMapNode. Самый верхний узел представляет начальную страницу, а дочерние узлы представляют страницы, находящиеся более глубоко в веб-узле.

Создание карты веб-узла

  1. В обозревателе решений щелкните правой кнопкой мыши имя веб-узла, а затем выберите команду Добавить новый элемент.

  2. В диалоговом окне Добавление нового элемента:

    1. В разделе Установленные шаблоны Visual Studio выберите Карта веб-узла.

    2. Убедитесь, что в поле Имя стоит имя Web.sitemap.

      ms178429.alert_note(ru-ru,VS.90).gifПримечание.

      Файл должен иметь имя Web.sitemap и находиться в корне веб-узла.

    3. Нажмите кнопку Добавить.

  3. Скопируйте следующее XML-содержимое в файл Web.sitemap, перезаписав содержимое XML-файла по умолчанию.

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap>
      <siteMapNode title="Home" description="Home" 
           url="~/default.aspx" >
        <siteMapNode title="Products" 
             description="Our products" 
             roles="*">
          <siteMapNode title="Hardware" 
               description="Hardware we offer" 
               url="~/Hardware.aspx" />
          <siteMapNode title="Software" 
               description="Software for sale" 
               url="~/Software.aspx" />
          <siteMapNode title="Discounts" 
               description="Employee Discounts" 
               url="~/EmployeesOnly/Discounts.aspx" />
        </siteMapNode>
        <siteMapNode title="Services" 
             description="Services we offer" 
             roles="*">
          <siteMapNode title="Training" 
               description="Training" 
               url="~/Training.aspx" />
          <siteMapNode title="Consulting" 
               description="Consulting" 
               url="~/Consulting.aspx" />
          <siteMapNode title="Support" 
               description="Support" 
               url="~/Customers/Support.aspx" />
        </siteMapNode>
      </siteMapNode>
    </siteMap>
    

    Файл Web.sitemap содержит набор элементов siteMapNode, вложенных в три уровня. Структура всех элементов одинакова; единственное различие между ними заключается в их расположении в иерархии XML.

    URL-адреса страниц, определенных в примере XML-файла, неполны; иными словами, URL-адреса всех страниц будут рассматриваться как относительные для корня приложения. Тем не менее, можно указать любой URL-адрес для конкретной страницы — логическая структура, определенная в карте веб-узла, не обязательно должна соответствовать физической структуре страниц в папках.

    Атрибут roles задан только в двух узлах в карте веб-узла: Products и Services. У этих двух узлов отсутствует атрибут url. Платформа ASP.NET использует правила доступа страницы ASPX для проверки видимости узла карты веб-узла для пользователя. Если не использовать атрибут url, ни один пользователь не сможет просмотреть страницу при включении фильтрации по ролям безопасности. Задание звездочки («*») или подстановочного знака в атрибуте roles позволяет предоставить доступ всем пользователям.

  4. Сохраните файл и закройте его.

Включение фильтрации по ролям безопасности

Созданная карта веб-узла использует поставщик карты веб-узла по умолчанию, XmlSiteMapProvider. По этой причине файл Web.config не обязан содержать элемент Элемент siteMap (схема параметров ASP.NET), поскольку платформа ASP.NET имеет встроенную конфигурацию для карт веб-узлов по умолчанию. Однако фильтрация по ролям безопасности не включена по умолчанию, поэтому необходимо задать элемент Элемент siteMap (схема параметров ASP.NET).

Включение фильтрации по ролям безопасности

  1. В Visual Web Developer щелкните правой кнопкой мыши корень веб-узла и выберите команду Обновить папку.

    Это приведет к появлению файла Web.config в обозревателе решений. Файл Web.config можно создать, выбрав команду Добавить новый элемент, или же путем использования средства Конфигурация ASP.NET, как было сделано ранее в этом пошаговом руководстве.

  2. Откройте файл Web.config.

  3. Найдите элемент Элемент siteMap (схема параметров ASP.NET), если он уже существует.

    Если элемент Элемент siteMap (схема параметров ASP.NET) отсутствует, вставьте следующий код в элемент Элемент system.web (схема параметров ASP.NET), проявляя осторожность, чтобы не вставить его в какой-то другой элемент.

    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider"
          description="Default SiteMap provider."
          type="System.Web.XmlSiteMapProvider"
          siteMapFile="Web.sitemap"
          securityTrimmingEnabled="true" />
      </providers>
    </siteMap>
    
  4. Сохраните файл Web.config и затем закройте его.

Функция фильтрации по ролям безопасности использует авторизацию URL-адреса при каждом запросе для определения наличия у пользователя доступа к URL-адресу, связанному с элементом siteMapNode. Эта дополнительная работа снижает производительность в зависимости от количества узлов, для которых необходима авторизация. Когда включена фильтрация по ролям безопасности, можно использовать следующие методы повышения производительности:

  • Ограничение количества узлов в файле карты веб-узла.   На выполнение операций фильтрации по ролям безопасности уходит значительно больше времени, если в файлах карты веб-узла содержится более 150 узлов.

  • Явное задание атрибутов ролей в элементах siteMapNode   Обратите внимание, что задание звездочки (*) в качестве значения атрибута roles следует использовать для узлов, которые могут безопасно отображаться для любого клиента. Наличие атрибута roles позволяет ASP.NET пропускать авторизацию URL-адреса для URL-адреса, связанного с узлом siteMapNode, если пользователь принадлежит к одной из ролей, приведенных в атрибуте.

Создание меню переходов на странице

Теперь, когда в наличии имеется карта веб-узла и страницы, можно добавить к веб-узлу переходы.

В качестве альтернативы для отображения структуры переходов веб-узла можно использовать элемент управления SiteMapPath или Menu. Дополнительные сведения см. в разделе Navigation ASP.NET Controls или Пошаговое руководство. Добавление структуры переходов веб-узла.

Создание меню переходов с помощью элемента управления TreeView

Элемент управления TreeView будет использоваться в качестве свертываемого меню переходов.

Добавление меню переходов

  1. Откройте страницу Default.aspx и переключитесь в режим конструктора.

  2. Из группы Данные панели элементов перетащите на страницу элемент управления SiteMapDataSource.

    В конфигурации по умолчанию элемент управления SiteMapDataSource получает информацию из ранее созданного файла Web.sitemap, так что нет необходимости указывать для него дополнительную информацию.

  3. Из группы Переходы панели элементов перетащите на страницу элемент управления TreeView.

    Появится меню Задачи TreeView.

  4. В меню Задачи TreeView в поле Выбор источника данных выберите SiteMapDataSource1.

  5. Сохраните страницу.

Создание меню переходов с помощью элемента управления SiteMapPath

Элемент управления SiteMapPath будет использоваться в качестве средства иерархической навигации, показывающего пользователям путь обратно к корневой странице.

Добавление меню переходов

  1. Откройте страницу Hardware.aspx и переключитесь в режим конструктора.

    Чтобы увидеть, как работает элемент управления SiteMapPath, расположите его в глубоко вложенной странице.

  2. Если внутри тегов <H1> на этой странице был добавлен заголовок, поместите курсор с правой стороны и нажмите ВВОД.

  3. Из группы Переходы панели элементов перетащите на страницу элемент управления SiteMapPath.

    Появится меню Задачи SiteMapPath, однако настраивать источник данных не требуется.

  4. Сохраните страницу.

Тестирование фильтрации по ролям безопасности

Теперь веб-узел готов к тестированию.

Тестирование фильтрации по ролям безопасности

  1. Переключитесь на страницу Default.aspx и нажмите клавиши CTRL + F5 для запуска страницы.

    В элементе управления TreeView не должны быть видны ссылки Discounts или Support.

  2. Щелкните Вход.

  3. Войдите в систему под учетной записью Customer01 — это учетная запись, входящая в состав роли customers.

    В элементе управления TreeView теперь должна быть видна ссылка Support.

  4. Щелкните Выход и снова щелкните Вход.

  5. Войдите в систему под учетной записью Employee01 — это учетная запись, входящая в состав роли employees.

    В элементе управления TreeView теперь должны быть видны ссылки Discounts и Support. При использовании роли employees должны быть видны все доступные ссылки, поскольку все они доступны для группы employees.

  6. На странице Default.aspx щелкните Hardware, чтобы можно было увидеть элемент управления SiteMapPath.

    Элемент управления SiteMapPath должен отобразить путь от начальной страницы к странице Hardware.

В текущем состоянии веб-узла дерево навигации появится только на начальной странице. Для отображения меню переходов на каждой странице аналогичные элементы управления SiteMapDataSource и TreeView можно добавить на каждую страницу в приложении. В качестве альтернативы можно поместить дерево навигации на главной странице, чтобы оно автоматически появлялось на каждой странице, на которую есть ссылка в файле главной страницы.

Следующие действия

В данном пошаговом руководстве представлены основные функциональные возможности структуры переходов веб-узла ASP.NET: элементы управления перехода, управление ролями и фильтрация по ролям безопасности. Также можно поэкспериментировать с дополнительными возможностями переходов. Например, может возникнуть необходимость поместить элементы управления перехода на главную страницу, чтобы они отображались на всех страницах, которые ссылаются на главную страницу. Дополнительные сведения см. в разделе Пошаговое руководство. Создание и использование главных страниц ASP.NET в Visual Web Developer.

См. также

Задачи

Пошаговое руководство. Добавление структуры переходов веб-узла

Основные понятия

Общие сведения об структуре переходов веб-узла ASP.NET

Фильтрация карты веб-узла ASP.NET по ролям безопасности

Безопасность системы навигации веб-узла ASP.NET

Безопасность доступа к данным

Создание собственных разрешений доступа к коду

Другие ресурсы

Безопасность приложений ASP.NET в средах выполнения