Parus16.ru

Парус №16
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что это такое админка сайта и как зайти

Что это такое админка сайта и как зайти

Что это такое админка сайта и как зайтиЛюбые материалы (статьи, опросы, фото, видео) попадают на сайт через систему управления контентом. Другими словами, это называется – админка сайта, что это такое и как войти туда, мы объясним в нашей сегодняшней статье.

Как зайти в админку сайта?

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

Как зайти в админку сайта.jpg

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

Другой способ обусловлен тем, что в адресную строку браузера необходимо вписать адрес страницы входа в админ панель ресурса. В основном для этого требуется дописать «/admin».

Как получить доступ к админке сайта?

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

Как получить доступ к админке сайта.jpg

Потребуется рыться в бухгалтерских документах и искать того, кто является хостером. После чего нужно с ним списаться и получить пароль к хостингу. Необходимо уделить особое внимание в разработке технического задания на создание сайта, чтобы такие казусы не приносили массу неудобств. Вне зависимости от вида CMS доступ к базе MySQL сохраняется в конфигурационном файле вроде «configuration.php».

Далее смотрим имя базы, её пользователя и пароль. Подцепляемся к ней через phpMyAdmin. Ищем тамблицу пользователей, а в ней и записи админа и отправляем ему пароль. Получитсячто-товроде «UPDATEчтототам_usersSETpassword= MD5( ‘new_password’ ) WHEREusername = «admin»» либо не username = «admin», а , Яндекс в помощь конкретно для вашей CMS.

Как создать админку для сайта?

Полезно будет знать, как создать админку для сайта. В начале «тела сайта» идет PHP скрипт, где анализируется наличие в сессии переменная admin. Когда она отсутствует — это означает, что пользователь, вошедший в данную панель, не является админом.

Как создать админку для сайта.jpg

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

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

Разделите Ваш шаблон сайта на раздельные части и скопируйте их в отдельные файлы с расширением tpl. Структурируйте класс, занимающийся подстановкой данных вместо элементов шаблона. Так, кирпичик за кирпичиком будет выстроена админ панель.

Как поменять админку сайта?

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

Как поменять админку сайта.jpg

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

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

Особое внимание нужно уделить SEO. Конкретно это будет касаться проставления 301 редиректа со старых страниц на новые, проверки корректности значений тегов h1, title, keyword, decription и переноса кодов счетчиков. При достижения желаемого эффекта сайт переводят с тестового в «боевой» режим.

Читайте так же:
Видео с веб камеры дата

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

Как зайти в админку сайта Битрикс?

Для большинства наших читателей интересно будет узнать, как зайти в админку сайта Битрикс. Поскольку она является очень популярной системой для управления контентом в России и странах СНГ. Молодые специалисты начинают работу именно через неё.

Как зайти в админку сайта Битрикс.jpg

Чтобы попасть в админку, необходимо в домен дописать “/bitrix/admin”. Далее откроется окно, где можно авторизоваться, вписав «Логин» и «Пароль» в специальных полях. Также зайти можно через аккаунт в соц.сети Битрикс24. Стоит отметить, что цена ведения контекстной рекламы у данного ресурса сказывается хорошей конверсией.

Как зайти в админку сайта на WordPress?

Напоследок мы узнаем, как зайти в админку сайта на WordPress. Сделать это довольно просто, как и в случае Битрикса. Нужно в адресной строке в URL страницы «http://site.ru" дописать /wp-admin/ — на вход в админкуили /wp-login.php – вход на страницу регистрации. Далее заполнить поля и пройдет авторизация.

Как зайти в админку сайта на WordPress.jpg

Если пароль был забыт, то под полем ввода имеется ссылка «Забыл пароль». Кликаем по ней и заполняем форму для получения нового пароля. Введите свой логин или Email, как обычный пользователь. Подтвердите смену пароля через почту.

Админка сайта хороший инструмент для работы и развития успешного сайта. Экономия времени и удобность в использование подтвердят этот вывод. Всем советуем его использовать. А что скажете Вы?

Постоянное разлогинивание Битрикс24

Ситуации, когда CRM-система теряет сессию и выкидывает пользователя из портала, возникают редко. С данной проблемой мы столкнулись при работе с одним из наших новых клиентов. Он пользуется коробочной версией системы, а значит решение за собственником портала. Если подобная ошибка возникла у вас на облачной версии – обратитесь в техническую поддержку разработчика Битрикс24.

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

Разберем проблему в 3 этапа:

  1. Симптомы
  2. Причины
  3. Решение

Симптомы проблемы разлогинивания Битрикс24

Нашим специалистам отдела инфраструктуры поступила задача: на портале клиента наблюдается плавающее время разлогинивания. Иногда 5-10 минут, иногда 20-30 секунд. Фактически после любого действия и перехода на портале пользователя выкидывало на страницу авторизации.

Проблема наблюдалась на стороне всех пользователей, вне зависимости от того, являются они администраторами или нет, и выглядела следующим образом:

  1. Пользователь проходит авторизацию на портале.
  2. Совершает какое-либо действие – переходит в другой раздел сайта, создает сделку, просматривает уведомления.
  3. После нескольких операций пользователя на портале происходит разлогинивание – возврат на стартовую страницу Битрикс24.

Быстрое тестирование показало, что проблема наблюдается в разных браузерах и не зависит от них. Мы проверили три самых популярных браузера:

  • Google Chrome
  • Opera
  • Яндекс.Браузер

Определившись с симптомами проблемы, мы начали выяснять ее причины.

Причины разлогинивания

Причин для разлогинивания может быть несколько, расскажем о 5 часто встречающихся.

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

Простыми словами, сессия – это время, в течение которого авторизованный на портале пользователь может бездействовать без необходимости повторного ввода логина и пароля. Однако сомнения вызывало чересчур короткое время разрешенных действий на портале – от 20 секунд до 15 минут. В среднем, время сессии по умолчанию равняется 24 минутам.

Вторая причина, не самая очевидная, – использование услуг хостинг-провайдера с определенными ограничениями.

Например, CloudFlare. Если вы пользуетесь данным сервисом для защиты от DDOS-атак, то с большой долей вероятности причина кроется именно в этом.

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

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

Третья причина может быть скрыта в смене провайдера.

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

Четвертая причина – проблема с обновлениями или конфигурационными файлами системы.

«Сломать» Битрикс24 через административную панель пользователю, не обладающему достаточными компетенциями, очень просто. Достаточно лишнего пробела или одной удаленной строчки из конфигурационного или любого другого системного файла для того, чтобы нарушить работу портала.

Читайте так же:
Вконтакте видео для мужчин

Пятая причина – права доступа.

Файлы dbconn.php, init.php и after_connect.php с сессиями продукта создаются, но PHP не хватает прав доступа, чтобы к ним обратиться.

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

Решение проблемы

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

Первый шаг – настраиваем время сессии. Существуют разные способы определения и установки времени жизни сессии. Рассмотрим три из них:

1. Настройка сессии на веб-сервере:

Выполняется путем редактирования файла php.ini. Данный способ подходит для администратора веб-сервера.

В файле php.ini нужно исправить следующие строки:

session.gc_maxlifetime = 172800
session.cookie_lifetime = 0

Параметр gc_maxlifetime — время в секундах, по истечению которого данные могут быть удалены. 86400 — 48 часов (2 суток) в секундах. Если установить значение 0, то время действия сессии будет бесконечным. Однако это может привести к падению производительности и безопасности сервера.

Параметр cookie_lifetime — время жизни файлов cookies.

2. Настройка сессии в файле .htaccess

Файл .htaccess позволяет системному администратору управлять настройками веб-сервера. Для редактирования .htaccess требуется доступ к файлам сайта, которые, как правило, хранятся на сервере. Данный способ не сработает, если в качестве обработчика PHP используется не Apache. В противном случае понадобятся более глубокие настройки веб-сервера.

В файл .htaccess следует вписать:

php_value session.gc_maxlifetime 172800
php_value session.cookie_lifetime 0

Данный способ практически аналогичен первому (настройке через php.ini.).

3. Настройка времени сессии в административной панели – самый простой способ для пользователя с административными правами на портале Битрикс24, не желающего напрямую работать с файлами сервера.

Для установки времени сессии нужно зайти в панель Администрирования и перейти в панель Настройки. Далее нужно зайти в Группы пользователей и для нужных групп в разделе Безопасность установить нужное время сессии. По умолчанию установлен параметр Не переопределять – это означает, что по умолчанию значение длительности сессии берется из настроек сервера.

Настроили время сессии, движемся дальше.

Второй шаг – определить хостинг-провайдера вашего портала и внести правки на стороне используемого ресурса. Если вы не знаете, какой провайдер предоставляет вам свои услуги, можно провести диагностику на сторонних сервисах:

Если ваш хостинг-провайдер CloudFlare, то внезапное разлогинивание объяснимо – сессия обрывается инструментами защиты Битрикс24.

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

Административная панель → Контент → Структура сайта → Файлы и папки → Bitrix → php_interface


Нажимаем на Редактировать как PHP и добавляем следующую строчку:

$_SERVER[«REMOTE_ADDR»] = $_SERVER[‘HTTP_CF_CONNECTING_IP’];

Вставлять ее нужно до знака ?>, иначе ничего не сработает.

Третий шаг – проверка прав доступа записи в папке хранения сессии пользователей. В случае чего, откорректировать их.

Четвертый шаг – проверить следующие системные файлы на наличие лишних пробелов или символов:

Данные файлы находятся в папке php_interface по аналогичному со вторым шагом пути:

Административная панель → Контент → Структура сайта → Файлы и папки → Bitrix → php_interface

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

Пятый шаг – предоставить права доступа PHP. Для этого нужно внести правки в файл dbconn.php, находящийся по адресу:

Административная панель → Контент → Структура сайта → Файлы и папки → Bitrix → php_interface

Выбираем Редактировать как PHP и закомментируем (ставим //) следующую строчку:


В нашем случае решающим оказался второй шаг – клиент, у которого обнаружилась проблема, пользовался услугами CloudFlare. Стоит отметить, что команда Битрикс24 также не рекомендует использовать проксирование от CloudFlare:

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

Если вы столкнулись с подобной ошибкой и не знаете, как с ней справиться, свяжитесь с нами бесплатно по телефону
+7 (495) 118-39-18 или через форму ниже. У нас есть опыт в решении частных и типовых проблем по Битрикс24.

Читайте так же:
Во время просмотра видео нет звука

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

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

Чтобы подключиться по удаленному серверу через FTP-клиента FileZilla понадобится логин и пароль. На Макхосте необходимые данные находятся в левом меню «Мой аккаунт» во вкладке «Пароли аккаунта».

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Во вкладке находятся все пароли и логины Ваших услуг на хостинге.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

С вкладки «Пароли аккаунта» (слайд выше) копируем Хост, Имя пользователя (логин), пароль и вставляем в настройки подключения через FileZilla (слайд ниже).

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

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Справа в разделе «Удаленный сайт» в папке httpdocs будет находиться вся информация сайта распределенная по отдельным папкам.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Создание и редактирование блоков сайта

После установки Битрикс, пользователей встречает главная админпанель.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Основные вкладки необходимые для работы:

  1. Создание и изменение разделов и страниц;
  2. Сбросить, обновить кеш — очень нужная опция. На время разработки сайта рекомендуется отключать.
  3. Режим правки — возможность редактировать все элементы страницы, содержание статьи, добавить (удалить) пункт меню или изменить его название. Ниже рассмотрим детальнее.
  4. Свернуть или развернуть панель.

Чем Битрикс отличается от классической CMS

Битрикс не только CMS, а и конструктор. Для обычной CMS также возможно собрать подобный функционал, расширить возможности. Но стоимость и сложность себя не оправдывают. Битрикс по праву можно охарактеризовать, как статично-динамичную CMS -создавать ряд блоков, возможность править. В Битриксе вся информация, новости, статьи выводятся напрямую из хостинга. В классической CMS контент хранится в базе данных. Такое отличие является одновременно и плюсом и минусом: с одной стороны делает сайт на Битриксе значительно быстрее, с другой – сложно разобраться в большом количестве папок. Отдельные файлы находятся в отдельных папках, изначально все сайты так создавались. Сегодня можно отойти от этой практики, но в Битрикс без изменений.

Детальнее о редакторе

Переходим в режим правки, в правом верхнем углу панели. Каждый блок становиться активным, наводя мышкой на любую часть страницы, появляется опция «Править в редакторе».

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Одно нажатие кнопкой мышки — и в другом окне можно редактировать или полностью заменить текст. По завершению СОХРАНИТЬ.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

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

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

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

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Все изменения отображаются сразу после сохранения. Разделы меню двигаются при помощи мыши.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Добавить новости и выбрать категорию.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Работать достаточно просто. Не имея значительных навыков ведения сайтов, можно вносить изменения, добавлять новый материал.

Визуальный режим редактора

Рассмотрим визуальный режим редактора. Текст в виде HTML – кода. Изменение не самого содержания статьи, информации, а оформления. Другими словами, при помощи кода можно вставить ссылку разделить текст на абзацы и тд.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

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

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Справа расположена боковая панель «Компоненты». Более детально будем изучать позже. В данном случае компонентов мало. Так как для урока используется простая демоверсия. Чем дороже и сложнее версия, тем больше компонентов будет на панели.

Структура Битрикс: разрыв шаблона

Рассмотрим структуру Битрикс на примере раздела «О компании». Сам код в корне сайта найти крайне сложно. Пользователей изначально удивит местоположения файла. Править блоки можно и проще, как показано выше. Но и такой доступ в дальнейшем понадобится.

Читайте так же:
Восстановить права без водительской карточки

Возвращаемся к FileZilla. Ищем папку company.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Увидеть путь к нужному файлу можно и в оглавлении окна редактора. (Выделено зеленым квадратом на предыдущем слайде).

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

Непривычное расположение. Что-то лежит так, другая часть в базе. С большим объемом материала сложно. Элементы хранятся в отдельных папках, работать над каждым будем отдельно. Терпимо, если речь идет о сайте-визитке или небольшом простом сайте, который мы будем создавать в ходе обучения. Большие информационные порталы, Интернет-магазины править таким способом неудобно. Но как уже упоминалось, подобная структура позволяет ускориться, что особенно актуально для тяжелых сайтов с внушительным количеством подразделов. При просмотре сайта нагрузка на базу данных значительно меньше, файлы показываются напрямую и сайт не «виснет», быстро загружаются элементы страницы.

Создание сайта на Битрикс для новичков. | Знакомство с админкой Bitrix. Структура файлов. | #2

В файле видны все компоненты, с которыми мы ознакомимся. Рассмотрим, как подключили Header и Footer, необычное расположение картинки. Но об этом более детально в других уроках.

Организация управления доступом в 1С-Битрикс

Анатолий Е.

В декабре 2011 года компания 1С-Битрикс выпустила Управление Сайтом 11.0.10, и вывела управление правами доступа собственных модулей на новый уровень. К “классической триаде” обязательных методов любого модуля (InstallDB, InstallEvents и InstallFiles) добавился еще один, мало кому из программистов сегодня известный — InstallTasks. О нем и всех его аспектах и пойдет сегодня речь, но сначала немного теории.

Права и роли в ПО

Организация управления доступом на основе ролей (RBAC, Role Based Access Control) в ПО известна уже давно и в том или ином виде знакома большинству программистов. Почитать про нее можно в интернете, здесь же отметим ключевые ее особенности:

  1. Каждому пользователю системы присваивается Роль
  2. Каждая роль содержит набор Прав или Разрешений
  3. При выполнении любых операций происходит проверка именно Прав/Разрешений

Операции и уровни доступа в 1С-Битрикс УС

Сразу нужно запомнить — права в исходном коде УС называются не иначе как “operations” или “операции”, роли — “tasks” или “уровни доступа”. Управление операциями (их добавление или удаление) через панель управления невозможно — только через API системы (использование метода CModule::InstallTasks как раз является замечательным примером такого использования). А вот создание уровней доступа возможно не только через API, но и вручную, силами администратора или любого другого привилегированного пользователя по пути “Настройки->Пользователи->Уровни доступа”.

1.png

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

В БУС нельзя напрямую назначать конкретные права на операции конкретным пользователям (в полном соответствии c RBAC ). Связь производится через два промежуточных звена — группы пользователя и уровни доступа. Проиллюстрируем эту связь ER-диаграммой.

Каждая операция характеризуется названием, принадлежностью к модулю, описанием и привязкой (о ней позже). Они задаются один раз, обычно при установке модуля, и редактированию более не подлежат.

Заметка для любопытных: операции хранятся в таблице БД b_operation.

Для создания уровня доступа необходимо задать ему имя, выбрать модуль, который он описывает и дать права на выполнение необходимых операций в этом модуле. Один уровень доступа описывает операции только одного модуля! Дополнительно можно указать букву уровня доступа (символьный код) и описание. Традиционно в стандартных модулях БУС используются следующие символьные коды:

  1. D для полного запрета
  2. R для чтения
  3. W для записи
  4. X для полного доступа

Еще раз отмечу, что это не правило, а наблюдение. Обратите внимание, уровни доступа, отсортированные по своим символьным кодам, обозначают возрастание привилегий. Нередко можно увидеть в исходниках БУС проверку вида “Если уровень доступа >= R” (вот зачем алфавитный порядок).

Созданные и настроенные уровни доступа хранятся в таблице БД b_task и b_task_operation.

Остальные шаги должны быть известны большинству специалистов по работе с 1С-Битрикс УС: нужно поместить пользователя в нужную нам группу и этой группе задать нужный уровень доступа в нашем модуле.

Например, создадим такую группу пользователей, у которых будет единственная привилегия — сброс кеша в публичной части сайта. И ничего кроме.

Читайте так же:
Видеорегистратор texet full hd 1080p ambarella a5s

Управление кешем — операция главного модуля (main). Букву для уровня создавать не будем.

5.png

6.png

Теперь у нас есть уровень доступа к главному модулю “Чистильщик кеша”. Осталось закрепить уровень доступа за группой нужного пользователя и протестировать.

8.png

7.png

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

Теперь уже можно переходить к программированию.

API для работы с операциями и уровнями доступа

Чтобы ваш модуль при установке создал в системе нужные вам операции, необходимо внести следующие изменения в установщик вашего модуля (/bitrix/modules/<ваш модуль>/install/index.php):

  1. в методе DoInstall вызвать метод InstallTasks (ну и в DoUninstall не забыть про UnInstallTasks);
  2. переопределить открытый метод GetModuleTasks. Пример кода из модуля Инфоблоков ниже.

3.png

Ключ массива — более или менее читаемый код уровня доступа, в нем есть ключи LETTER для буквы уровня доступа, BINDING для привязки операций и OPERATIONS для перечисления операций, которые входят в данный уровень доступа. Чтобы привязать операцию именно к модулю и работать с ней в обычном режиме, требуется либо не указывать ключ BINDING, либо указать там module.

Установка модуля пройдет без проблем и Ваши уровни появятся в панели управления в общем списке. Только вот у них не будет названия и описания. Вернее, они будут, только в том же виде, в котором вы их объявили в методе: iblock_deny, iblock_read и т.д.

Перевод этих строк происходит в файлах модуля /admin/task_description.php (для перевода уровней доступа) и /admin/operation_description.php (для перевода операций).

Содержимое файлов простое, по сути они должны возвращать данные следующего вида:

4.png

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

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

Осталось только использовать эти права по назначению — организовать в модуле их проверку.

Для этого есть системный булевый метод CUser::CanDoOperation. Чтобы получить все уровни, которые есть у пользователя, используйте метод CUser::GetAllOperations. Проверка прав использует кеширование в сессии пользователя, так что можно себя не ограничивать и не бояться порождать лишние запросы.

Небольшой пример: попробуем организовать доступ на сайте по следующей матрице прав.

9.png

Матрица показывает, какие права есть у какого пользователя в некой компании. Выделено три роли: Глава компании, начальник отдела и рядовой сотрудник. Базовых операций 4 (так же известны как CRUD — Create-Read-Update-Delete), но есть нюансы — например, просмотр доступен в двух вариантах, изменение тоже, часто учитывается принадлежность сотрудников к отделам.

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

После анализа матрицы все выделенные операции объявляются в методе модуля GetModuleTasks.

10.png

После добавления языковых файлов и установки модуля все готово к воссозданию матрицы прав. Вот так выглядит уровень доступа “Начальник отдела”.

11.png

А так — “Глава компании”.

12.png

Осталось лишь в коде поставить нужные проверки методом CanDoOperation.

Привязки (BINDING)

Напоследок, вернемся к привязкам. Они не используются в совсем уж простых модулях — можно сказать, это продвинутый уровень.

Обратите внимание на права доступа из модуля Инфоблоков (пример кода в предыдущем разделе). У каждого уровня привязка не к модулю, а к объекту iblock. Как следствие, на странице списка уровней доступа системы (“Настройки->Пользователи->Уровни доступа”) модуль инфоблоков вообще не представлен. Но любой достаточно оптыный специалист скажет, что где-то он уже видел настройку прав доступа для инфоблоков. Но где же?

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

Получается, что стандартные уровни доступа (с привязкой к модулю) редактируются в стандартном разделе панели управления, а для работы с любыми другими объектами вам нужно создавать свои собственные разделы “админки”. Получается, в 1С-Битрикс УС есть не только продуманная и удобная система прав доступа, но и база для создания своей собственной.

Автор выражает благодарность Сергею Покоеву и Павлу Машанову. Именно наши разговоры об управлении доступом вдохновили меня на эту статью.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector