Сообщество русскоговорящих пользователей
CMS DotNetNuke


Пример построения простого представительства в паутине

Постановка задачи | План реализации | Права доступа | Продукт 1 | Продукт 2
 

Методика создания сайта

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

Права доступа

Задание прав доступа в DNN напоминает задание прав доступа в Windows – мы также задаём права доступа на уровне страниц или модулей для ролей и отдельных пользователей. Проводя аналогию, страницы можно уподобить папкам, модули – файлам в этих папках, роли – группам пользователей.

Но между принципом задания прав в Windows и правильным заданием прав в DNN есть существенное различие. Связано оно с тем, что структура файловой системы совсем несхожа со структурой сайта. В файловой системе пользователь все свои файлы и папки хранит внутри одной папки (или двух-трёх, если он обычный пользователь (например, "Рабочий стол", "Мои документы")). Рутинно меняя права доступа в Windows их, как правило, задают непосредственно на уровне пользователей. Можно, конечно, создать разные группы для разных пользователей, но скорость перенастройки прав это не ускорит. Как говорится, "что в лоб, что по лбу" – всё равно придётся сделать одинаковое количество телодвижений как для случая задания доступа для групп, так и для случая задания доступа непосредственно для пользователей.

Совсем иное дело сайт. На одной и той же странице могут находиться модули, к которым разные пользователи должны иметь разные права доступа. А страниц много. В ситуации, когда пользователи, ответственные за выполнение определённых функций на сайте, по каким-либо причинам поменялись (болезнь, командировка, отпуск, повышение/понижение в должности, новый сотрудник, увольнение), переназначение прав доступа пользователей каждому модулю для каждой страницы сайта сулит много нудной работы.

Поэтому: хоть в версии 4.5.0 и появилась возможность задания прав доступа на уровне пользователей – игнорируйте её! Используйте роли. Какие бы перестановки персонала не имели место, до тех пор, пока структура сайта неизменна, роли (скорее всего) тоже останутся неизменны, поэтому нам останется только одних пользователей из роли удалить, а других – добавить.

Поэтому создаём роли. Ролей у нас будет 3:

  1. Руководитель.
  2. Менеджер 1.
  3. Менеджер 2.

Создание ролей в DNN

Покажу, как создать роль. Открываем наш сайт в браузере. Авторизируемся как администратор (при желании можно авторизироваться как хост, так как хост одновременно является администратором всех сайтов хоста). Выбираем пункт меню "Admin" -> "Security Roles".

В открывшемся окне управления ролями видим список уже имеющихся ролей в группе по умолчанию. Жмём ссылку "Add New Role" (для рассматриваемого примера нет смысла создавать новую группу).

В окне создания новой роли вводим её имя и описание, жмём кнопку "Update".

Роль создана и доступна в списке ролей сайта.

Аналогичным образом создаём роли для обоих менеджеров.

Назначение роли пользователю

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

Выбираем пункт меню "Admin" -> "User Accounts".

В открывшемся окне управления пользователями жмём ссылку "Add New User".

В окне создания пользователя вводим имя пользователя (его надо будет указывать при авторизации; также, никто его не будет знать – очень полезная вещь для лучшего обеспечения безопасности сайта), имя и фамилию пользователя, отображаемое имя, указываем правильный адрес электронной почты, ставим галочки в поле "Authorize" для включения учётной записи и в поле "Notify" для отправки пользователю уведомления о создании его учётной записи на сайте, ставим галку в поле "Random Password" для генерации случайного пароля автоматически (или не ставим галочку и вводим пароль вручную). Жмём ссылку "Add New User". Будет создан пользователь с указанными данными профиля, а в его электронный ящик бухнется письмо с логином и паролем.

Теперь дадим этому пользователю роль руководителя. Опять откроем окно управления ролями. Кликнем по обведённой красным иконке.

В открывшемся окне выберем из списка пользователей нужного...

...и кликнем по ссылке "Add User" (если не убирать галку с пункта "Send Notification?", то в почту пользователя бухнется ещё одно письмо, на сей раз с извещением о назначении ему новой роли).

Указанному пользователю будет назначена роль. 

При желании можно сейчас же создать учётные записи обоих менеждеров и назначить им новые роли, а можно отложить это на потом. Думаю, идея ясна. Больше к теме создания учётных записей и ролей и назначения ролей я в этом разделе возвращаться не буду.


План реализации | Страница 3, всего: 5 | Продукт 1
 
OpenedBorderBoxed Small width layoutMedium width layoutMaximum width layout Small textMedium textMaximum text