Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Разграничение прав на сайте

Сообщения:  [1-4] 

 
 автор: cheops   (18.03.2005 в 19:53)   письмо автору
 
   для: RV   (18.03.2005 в 19:23)
 

Под новости и статьи лучше ввести две системы авторизации и вести учёт прав доступа отдельно. Можно ввести флаг (в таблице MySQL поле типа ENUM), принимающий три значения
none - никаких прав
root - все права (редактирование и правка всех статей)
custom - выборочные права - редактирование лишь избранных статей (новостей).
Таблица пользователей имеет первичный ключ. Таблица новостей так же имеет первичный ключ. Если таблицы не используются в любом случае следует ввести какой-то уникальный идентификатор. Для установки прав доступа в последнем случае (custom) следует ввести третью таблицу, которая будет ставить в соответствие первичный ключ пользователя и статей (новостей), которые он может править.
user articles
1      23
1      45
1      66
1      88
2      12
2      14
2      66

Таким образом пользователь 1 может редактировать статьи с номерами 23, 45, 66, 88, а пользователь с первичным ключом 2 статьи с номерами 12, 14, 66.

   
 
 автор: RV   (18.03.2005 в 19:23)   письмо автору
 
   для: cheops   (18.03.2005 в 19:14)
 

а пользователей то как лучше разграничивать?

   
 
 автор: cheops   (18.03.2005 в 19:14)   письмо автору
 
   для: RV   (18.03.2005 в 18:13)
 

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

   
 
 автор: RV   (18.03.2005 в 18:13)   письмо автору
 
 

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

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования