Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Распределение ролей на сайте с примерами

Поддержи проект!!!

Что такое роль на сайте, роли пользователей на сайте. какие роли бывают, как исполнить код для каждого типа ролей на сайте!

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

О ролях пользователя на сайте

  1. Что такое роль пользователя нка сайте
  2. Как присваивать права пользователя!?
  3. Как присваивать права пользователя из базы данных!?
  4. Как присваивать права пользователя из файла!?
  1. Что такое роль пользователя на сайте

    Определение "Что такое роль пользователя на сайте":

    Роль пользователя на сайте определяется создателем сайта(программистом, движком) прописанными ранее в коде.

    В зависимости от этой роли, к которой принадлежит пользователь ему доступны соответствующие возможности!

    Какие роли пользователей бывают на сайте!?

    На простом сайте может быть ... например всего две роли:

    Администратор

    Гость

    Я бы принимал для сайта... классический список ролей для пользователя:

    Администратор

    Модератор

    Пользователь

    Гость

  2. Как присваивать права пользователя!?

    Естественно, что должен быть какой-то скрипт, который реализует роли пользователя на сайте.

    1). Как реализовать права пользователя самым простым способом!?

    Для каждого типа пользователя нужно выделить отдельную сессию:

    $_SESSION['admin'] -> Администратор

    $_SESSION['moderator'] -> Модератор

    $_SESSION['user'] -> Пользователь

    $_SESSION['guest'] -> Гость

    2). Как присваивать входящему в систему ту роль, которая ему принадлежит!?

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

    Каким образом скрипт будет определять, что это заходит Администратор или Модератор и.т.д!?

    Все просто!

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

    3). Как прописать возможности для каждой роли на сайте в php

    Далее нам нужно создать условие/условия для каждой роли на сайте:

    if ($_SESSION['admin'])

    {

    При выполнении этого условия, должен располагаться, код, контент доступный только "Администратору"

    }

    elseif ($_SESSION['moderator'])

    {

    При выполнении этого условия, должен располагаться, код, контент доступный только "Модератору"

    }

    elseif ($_SESSION['user'])

    {

    При выполнении этого условия, должен располагаться, код, контент доступный только "Пользователь"

    }

    else

    {

    И все что осталось... это роль "Гостя"

    }

  3. Как присваивать права пользователя из базы данных!?

    Реализовать можно по разному, но алгоритм он будет и в "Африке" алгоритм!

    У вас, как у администратора сайта должен быть способ занесения в базу данных пользователей метки роли для пользователя!

    И каждому пользователю, которому требуются добавить или изменить роль добавляем, ну например численное значение:

    Администратор =1

    Модератор=2

    Пользователь=3

    роли на сайте

    При авторизации запуск роли пользователя

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

    Создаем условие, если роль равна одному из приведенных чисел, по этому условию запускаем сессию:

    if( [ячейка роль] == 1 ) { $_SESSION['admin'] =1; }

    if( [ячейка роль] == 2 ) { $_SESSION['moderator'] =1; }

    if( [ячейка роль] == 3 ) { $_SESSION['user'] =1; }

  4. Как присваивать права пользователя из файла!?

    Присваивание ролей можно реализовать и с помощью файла.

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

    О файле с ролями пользователя

    И да... в одном файле могу храниться данные, самое малое... лично проверял 500 000 строк... без проблем..(см. по размеру... 500 000 вышло примерно 10мб)

    Если предполагается пользователей больше чем 500 000 распределите по первой букве и 10 цифрам это будет (28 + 10)* 500 000 = 19 000 000

    Т.е. пользователи, емайл которого начинается с буквы "a" будет находится в файле "a.dat"и т.д.

    Если этого будет недостаточно, то распределяйте по первым двум знакам:

    ((28 + 10)*(28 + 10))* 500 000 = 722 000 000 <- и т.д.... wall

    Как записывать в файл права пользователя

    В файле можно хранить ассоциативный массив
    [email] => [роль]

    Пример массива с правами пользователя и функцией записи:

    $array_role = array (

    "admin@mail" => 1,

    "moderator@mail" => 2,

    "user@mail" => 3

    );

    file_put_contents("example_file.dat" , serialize ( $array_role ));

    Проверка прав пользователя и запись в сессию:

    Теперь нам нужно получить массив, и в условии проверяем полученный из поля ввода методом post получаем емайл пользователя -> $_POST['email'] и в зависимости от результат присваиваем пользователю роль...

    $array_role = unserialize(file_get_contents('example_file.dat'));

    if( $array_role[ $_POST['email'] ] == 1 ) { $_SESSION['admin'] =1; }

    if( $array_role[ $_POST['email'] ] == 2 ) { $_SESSION['moderator'] =1; }

    if( $array_role[ $_POST['email'] ] == 3 ) { $_SESSION['user'] =1; }


Вас может еще заинтересовать список тем : #PHP | #REGISTRATION | #PHP_BOOK |
Последняя дата редактирования : 2020-05-17 02:04
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
роли пользователейроли пользователей сайтароли пользователей системыописание ролей пользователейроли доступа пользователяпользователь группа рольсоздание роли пользователяроли пользователей баз данныхsql роли пользователяпользователь c рольюуправление ролями пользователейроль профиль пользователяроле пользователироль нового пользователяпроверить роль пользователяроли пользователей настройкароли пользователей и права доступакак добавить роль пользователю

Последние комментарии :
Test :
23/10/2020 01:51
Со стороны пользователя :Тест на ссылки…
подробнее.
Марат :
23/10/2020 01:15
Посмотрел... количество возможных знаков 3... почему у вас не получилось увидеть 2...…
подробнее.
Марат :
23/10/2020 01:05
Да! Тоже исправим...А с ссылкой... вроде бы исправлял... совсем недавно...сейчас проверю в чем там…
подробнее.
Марат :
23/10/2020 01:03
Спасибо за внимательность!1). Исправлено!2). Да... будет добавлено, просто не подумал об…
подробнее.
Станислав :
23/10/2020 08:04
В Ранее отправленном комментарии о скрипте № 85.1 пункт 2 уже выяснен:Скорее всего комментарий не будет…
подробнее.