https://dwweb.ru/page/php/102_roli_na_sayte.html роли на сайте
Войти
Меню :
php (386)



Blog (1575)
php (386)
js (295)
html (152)
css (139)
html tags (62)
js tag (56)
js method (44)
jquery (42)
php array (38)
ruweb.net (37)
text (37)
js date (33)
other (32)
online (30)
form html (30)
Показать еще :
fonts (30)
js events (22)
php file (21)
foto (20)
atom (20)
input (19)
database (19)
php date (18)
svg (18)
forum (18)
mysql (17)
hosting (17)
info (17)
lingvo (17)
php time (16)
board (16)
php img (16)
dosite (16)
color (15)
js url (14)
jsphp (14)
img (14)
js time (14)
table (13)
select (13)
notepad (13)
знак (13)
html book (13)
htaccess (13)
osclass (13)
yandex (13)
download (12)
keyboard (12)
dw block (12)
php path (12)
icon (11)
$ server (11)
form (10)
mouse (10)
vs code (10)
js delete (10)
ftp (9)
hover (8)
chart (8)
php url (7)
comment (7)
php post (7)
adminka (6)
php get (6)
hey tag (6)
canvas (6)
нок (6)
list (6)
iframe (6)
click (6)
js vars (6)
reg.ru (5)
tag a (5)
js math (5)
web (5)
js id (5)
value (5)
console (5)
js file (5)
xml (5)
heading (5)
mb (5)
year (5)
js form (4)
ssl (4)
vk (4)
symbols (4)
task (4)
scandir (4)
js hash (4)
bbcode (4)
base64 (4)
youtube (4)
day (4)
numbers (4)
php var (4)
pages (4)
week (4)
month (4)
games (4)
submit (4)
file (3)
рся (3)
units (3)
jquery post (3)
https (3)
js post (3)
line (3)
money (3)
video (3)
padding (3)
domen (3)
aimp (3)
ucoz (3)
куб (3)
captcha (3)
src (2)
blob (2)
google (2)
prompt (2)
height (2)
details (2)
seo (2)
sitemap (2)
tag hr (2)
counter (2)
пк (2)
typeof (2)
arrows (2)
qr code (2)
js img (2)
lingvo (1)
windows (1)
archive (1)
speed (1)
scroll (1)
cursor (1)
webp (1)
ok (1)
php day (1)
jino (1)
smile (1)
нод (1)
rutube (1)

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

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

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

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

  1. Что такое роль пользователя нка сайте
  2. Как присваивать права пользователя!?
  3. Как присваивать права пользователя из базы данных!?
  4. Как присваивать права пользователя из файла!?
  5. О ролях на сайте - живой пример!?
  6. Роль пользователя и сессия.
    Роль пользователя и его страница.
    Роль пользователя и доступ к его странице.

  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; }

    P.S.

    Не обязательно распределять роли таким образом....

    Это просто пример!


  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; }


  5. О ролях на сайте - живой пример!?

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

    Роль пользователя "USER" на сайте и его "id".

    Как я реализую роль пользователя на сайте...

    Нам/вам/всем нужен какой-то уникальный идентификатор, который будет присвоен пользователю при регистрации на сайте:

    Если есть база данных..., то там, создаем auto_increment - который и будет "уникальным идентификатором".

    У меня базы данных нет, поэтому... берем емайл и из него создаем уникальный идентификатор.

    Роль пользователя и сессия.

    Либо при "подтверждении емайла", получаем данные пользователя...

    Либо при входе пользователя на сайт автоматически активируется сессия , по его "id" получаем данные пользователя из базы, далее переменные... для примера переданных данных из базы в эти переменные : $user_id, $user_name.

    Запускаем сессию пользователя:

    $_SESSION['user']['id'] = $user_id;

    $_SESSION['user']['name'] = $user_name;

    Роль пользователя и его страница.

    Рассмотрим пример взаимодействия пользователя и его страницы... например... по номеру auto_increment. Если из базы будет, например :

    https://dwweb.ru/1.html.

    Или:

    https://dwweb.ru/2.html и т.д...

    Смотрим, как это сделано меня:

    Зарегистрировал тестовый аккаунт md5(емайл)= a387f3f2367ea83493de9f34ca8c6647.

    Страница пользователя будет : https://dwweb.ru/a387f3f2367ea83493de9f34ca8c6647.html.

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

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

    Делаем условие:

    if($_SESSION['user']['id']==$id_из_адресной_строки) предоставляем доступ к редактированию...

    Пример как это обрабатывать...

    Предположим, что в адресной строке у вас :

    https://dwweb.ru/1.html.

    Получаем ссылку из адресной строки.

    Для раздербана адресной строки используем explode;

    Далее получается массив:

    Array

    (

    [0] => https:

    [1] =>

    [2] => dwweb.ru

    [3] => 1.html

    )

    Нам нужна ячейка №3, используем str_replace для того, чтобы избавиться от ".html".

    Ну и далее ставим то условие, что видели выше...

    <?

    $example_ = $_SERVER["HTTP_X_FORWARDED_PROTO"].'://'.$_SERVER["HTTP_HOST"] . $_SERVER['REQUEST_URI'] ;

    $url_arr = explode('/', $example_);

    $id_из_адресной_строки = str_replace('.html', '', $url_arr[3]);

    if($_SESSION['user']['id']==$id_из_адресной_строки) предоставляем доступ к редактированию...

    ?>

Не стесняемся говорить спасибо!
Дата последнего редактирования : 28.11.2024 16:19

О комментах : 05.11.2024
Свои комменты в ожидании переделки!
Когда сделаю не знаю!
Времени нет...
Друзья! Пожалуйста держите себя в рамках приличия!
Иначе сообщение будет удалено, вас в бан - все просто!
Но если, сил нет как хочется высказать всё, что вы думаете об этом, пожалуйста - комменты от Vk - форма ниже:
Помочь проекту DwWeb.ru

Поделиться ссылкой! C друзьями или врагами!

Этим вы очень поможете проекту! Заранее огромное спасибо!

Теги:
роли пользователей роли пользователей сайта роли пользователей системы описание ролей пользователей роли доступа пользователя пользователь группа роль создание роли пользователя роли пользователей баз данных sql роли пользователя пользователь c ролью управление ролями пользователей роль профиль пользователя роле пользователи роль нового пользователя проверить роль пользователя роли пользователей настройка роли пользователей и права доступа как добавить роль пользователю создание ролей пользователей на сайте php распределение ролей на сайте распределение прав пользователей php примеры ролей пользователей роль пользователей при входе на сайт О ролях на сайте - настоящий пример О ролях на сайте - живой пример About the roles on the site - a living example
dwweb.ru есть здесь:
Все соцсети в одном месте!
Разное :Игра "пятнашки"
Угадай страну по флагу

Кальклятор
Математика онлайн

Списки шифрования
Часы

Числа словами
Названия чисел(max=10305)
Графики

Qr код онлайн

Как сделать сайт?
Md5 онлайн
Sitemap.html
Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2024 Контакты. Лучший хостинг : RUWEB + помощь по RUWEB Сайт работает круглосуточно 24/7.
Страница загружена за : 0.031678 секунд.