Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2009, 10:22   #1
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
Вопрос Отображение информации в зависимости от прав пользователя

Легкого кода всем
Подскажите пожалуйста такую вещь:
Есть авторизованый вход на страничку.
пользователи, конечно, либо юзеры либо админы (начинаю с простого).
Каким образом лучше отображать информацию на странице в зависимости от прав пользователя???
К примеру, для админа отображается вся инфа с возможностью редактирования,добавления-исправления и т.д., Для юзера -- только просмотр.
Необходимо делать несколько главных страниц и направлять пользователя на соответствующую его правам или делать одну страничку, но отображать в ней только то, что соответствует правам? Т.е. на php делать главную и после проверки прав пользователя показывать все или только "половину" ? Как проще или корректнее?
Я представляю это так: в базе хранятся логины-пароли пользователей, + поля, соответсятвующие правам пользователя, например поля "user", "admin", причем только одно из них не пустое. и при входе проверяется соответствие логина-пароля в базе, если соответствует(такой пользователь есть), проверяется юзер или админ входит с соответствующим перенаправлением?
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 10.12.2009, 10:27   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Сообщение от bush007 Посмотреть сообщение

Я представляю это так: в базе хранятся логины-пароли пользователей, + поля, соответсятвующие правам пользователя, например поля "user", "admin", причем только одно из них не пустое. и при входе проверяется соответствие логина-пароля в базе, если соответствует(такой пользователь есть), проверяется юзер или админ входит с соответствующим перенаправлением?
Лучше одно поле ,если значение 0 - то юзер, 1 - админ.

В одном или в двух файлах код размещать, это как тебе удобней, хотя имхо правильней в разных. Но я и в одном делал, работает без проблем.
ssdm вне форума Ответить с цитированием
Старый 10.12.2009, 12:08   #3
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

спасибо за ответ!
Действительно, 1 или 0 это проще
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 10.12.2009, 18:43   #4
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

А я делал так!

1 - это Супер-админ.
2 - Администраторы.
15 Модератор
30 Юзер и так далее...

Новые группы создаются 30++
InCun вне форума Ответить с цитированием
Старый 10.12.2009, 20:49   #5
Gerb22
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 48
По умолчанию

Цитата:
Сообщение от bush007 Посмотреть сообщение
Каким образом лучше отображать информацию на странице в зависимости от прав пользователя???
В зависимости от прав и отображается эти права обычно группируются по типам (админ, модер, юзер и т.д.), отсюда и пошли так называемые группы пользователей. Т.е. не у каждого пользователя прописывается индивидуально его уровень доступа. Прописывается лишь идентификатор группы, которой он принадлежит.

Цитата:
Сообщение от bush007 Посмотреть сообщение
Необходимо делать несколько главных страниц и направлять пользователя на соответствующую его правам или делать одну страничку, но отображать в ней только то, что соответствует правам?
Второй вариант и правильней и проще (представьте, что вы потом добавите что-то новое для пользователей - его придется добавлять и на "все остальные" странички).

Цитата:
Сообщение от bush007 Посмотреть сообщение
Я представляю это так: в базе хранятся логины-пароли пользователей, + поля, соответсятвующие правам пользователя, например поля "user", "admin", причем только одно из них не пустое.
Логин, пароль, идентификатор группы. Для груп - своя отдельная таблица, описывающая права для каждой из существующих групп.

Например, можно так:
gruop
group_id - can_view - can_post - can_ban - can_delete_user
0 - 1 - 0 - 0 - 0
1 - 1 - 1 - 1 - 1
2 - 1 - 1 - 1 - 0
3 - 1 - 1 - 0 - 0

Группы: 0 - гость, 1 - админ, 2 - модер, 3 - юзер обыкновенный и т.д. - добавлять новые группы, расширять список прав.

В скрипте что-то типа такого
PHP код:
if($user->group_can_view) {...} 
Ну это как самый простой вариант.

Цитата:
Сообщение от bush007 Посмотреть сообщение
и при входе проверяется соответствие логина-пароля в базе, если соответствует(такой пользователь есть), проверяется юзер или админ входит с соответствующим перенаправлением?
Не при входе, а при каждом запросе.
Gerb22 вне форума Ответить с цитированием
Старый 10.12.2009, 21:29   #6
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

а че ж при каждом запросе то? можно сессии делать, слышал я
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 11.12.2009, 02:16   #7
Gerb22
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 48
По умолчанию

Цитата:
Сообщение от bush007 Посмотреть сообщение
а че ж при каждом запросе то? можно сессии делать, слышал я
Ну, как минимум, какое время жизни сессии вы поставите?

По-нормальному, например, авторизация через куки. Это не более 0.001 сек.
Gerb22 вне форума Ответить с цитированием
Старый 11.12.2009, 11:05   #8
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Сообщение от bush007 Посмотреть сообщение
а че ж при каждом запросе то? можно сессии делать, слышал я
Да. Делай через сессию, потом при каждом запросе проверяй нужную сессионную переменную.
ssdm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повышение прав пользователя ikot Win Api 9 27.08.2009 09:23
Получение прав другого пользователя Квэнди Win Api 14 28.07.2008 14:49
Назначение прав пользователя Seqular Безопасность, Шифрование 1 04.08.2007 16:48
Отображение информации из БД на веб странице baton БД в Delphi 0 22.01.2007 10:36