Покритикуйте идеи реализации

Духовность™

Продвинутый новичок
Покритикуйте идеи реализации

Разрабатываем новый проект. Практически с нуля.
Четкого ТЗ нет, всё буквально сочиняется на ходу.

На первом этапе необходимо создать административный интерфейс для редактирования администраторов и модераторов.

Модератор - человек, работающий в системе с определёнными правами. Мы решили ограничиться допуском на определенные разделы админки. Т.е. будет таблица прав вида

Код:
id_admin | module_name | module_name1 | module_nameN |
где и будут стоять единички или нолики напротив каждого из имен модулей.

Администратор - человек, работающий в системе без ограничений. В таблице прав для него даже не будет записи.

Общая таблица админов будет иметь вид:

Код:
CREATE TABLE IF NOT EXISTS admins
(
id                               INT unsigned not null primary key auto_increment,
admin_login 		  varchar(255) not null,
admin_password       varchar(32) not null,
admin_mail                varchar(255) not null,
admin_date_create   datetime not null,
admin_last_visiting   datetime null,
admin_ip                   int unsigned not null,
admin_active		 tinyint(1) UNSIGNED DEFAULT 1 not null,
admin_status            ENUM('administrator','moderator') DEFAULT 'moderator' NOT NULL,
admin_name             varchar(255) not null
) TYPE = MYISAM;
Вот. Интересует Ваше мнение насчет этой идеи организовать это подобным образом.

Это первое.

Второе - я мечусь между механизмом "запоминания" залогинившегося пользователя.

Раньше делал с куками - кидал в куку user_id и хэш от связки логин+пароль. При заходе пользователя на сайт, если система находила в БД в таблице такой логин и такой хэш, то и ок. Иначе не пускала.

В принципе, можно юзать и сессии (только без SID-a), но реального выйгрыша от них я не вижу.

Вот я и не знаю, стоит ли использовать сессии. Ведь всё равно use_trans_sid будет Off


Спасибо
 

das6745

Новичок
права: таблица пользователей, таблица прав, таблица пользователь-право

сессии - на базу ложи

имхо, это моя реализация, для меня такое работает.

и зачем без сида? ты механизм сессий понимаеш вообще?
Ведь всё равно use_trans_sid будет Off
и че?

зы: и, пожалуй, стоит посмотреть в сторону ленточной структуры таблицы пользователей
 

Духовность™

Продвинутый новичок
и зачем без сида?
затем, что с его использованием сопряжены некоторые минусы. начиная от тривиальной кривизны xhtml, кончая тем, что нужно таскать SID в нестандартных решениях, типа связка PHP+JS+Ajax и т.д.


и, пожалуй, стоит посмотреть в сторону ленточной структуры таблицы пользователей
это что такое?


а это что? поясни пожалуйста
 

Dovg

Продвинутый новичок
triumvirat
id_admin | module_name | module_name1 | module_nameN |
Это не гибко.
У тебя появляется раздел - приходится перекраивать таблицу
гораздо удобнее иметь вместо двух иметь три таблицы

1. таблица модераторов - как у тебя

2. таблица прав:
ID, наименование права, описание права, другие важные поля

3. Таблица связи:
moder_id, rules_id, action
связка moder_id+rules_id уникальна
action - запрет или разрешение
 

das6745

Новичок
есть таблицы

1: uid, name тоесть айди и имя пользователся
2: perm,и что хош - код права доступа

3: таблица объектов, структура примерно такая:
obj_id, и что хош - таблица объектов

так вот, создаеш еще одну, roles:
rid, uid, perm, obj_id, где по всем полям стоят внешние ключи на соответствующие таблицы, а на rid - автоинкримент

и в соответствии со своими пожеланиями - потребностями заполняеш эту таблицу.

про таблицу прав я не совсем корректно выразился, более правильно наверное будет "таблица ролей", впрочем если что меня поправят (я надеюсь).

в нестандартных решениях, типа связка PHP+JS+Ajax и т.д.
и че? я с таким работал, у меня проблем, кроме как с моском, не возникало. также невижу связи между мехханизмом сессий и
тривиальной кривизны xhtml
, кстати, в чем кривизна то выражается?

+подскажите мне чем неудобны/ненужни сесси в связке пхп-явавскрипт-аякс
вроде как гугл никто еще не отменял, а подобие ленточной я показал выше, но это у меня так, ты сам думай что тебе нужно, про саму же структуру почитай, я умными словами сказать немогу
 

cDLEON

Онанист РНРСlub
triumvirat
1) При чём здесь xHTML до use_trans_sid ?
2) Зачем таскать СИД в связке PHP+JS+Ajax?
3) Твой подход нужно оценивать исходя из того, что именно должно получиться в конце. Т.к. если нет уже написанной системы, то писать что то огромное, для системы, которая в этом не нуждается - бред.
 

Духовность™

Продвинутый новичок
Хорошо, спасибо всем. А как проверять права? Просто создать массив соответствий МОДУЛЬ -> ИМЯ (ID) ПРАВА и при заходе админа в модуль N мы проверяем наличие у него права доступа?
 
Сверху