В связи с переходом на новый движок... возможны сбои в работе! Простите!
Работы производятся прямо сейчас 19-03-2024! 🞨
Меню :
php (329)



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

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

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

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

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

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

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

Не стесняемся говорить спасибо!
Помочь проекту DwWeb.ru

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

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

Ещё : dwweb.ru есть здесь:
ruweb
Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2024 Контакты. Реклама на сайте Лучший хостинг : RUWEB + помощь по RUWEB
Страница загружена за : 0.019414 секунд. Подробнее