Добрый день! На текущий момент реализована следующая схема: В MySQL хранится 4 таблицы:
CREATE TABLE user
( id_User
int(11) NOT NULL AUTO_INCREMENT,
Login
varchar(50) NOT NULL, Password
varchar(50) NOT NULL,
Surname
varchar(50) NOT NULL, Name
varchar(50) NOT NULL,
Patronymic
varchar(50) NOT NULL, Mail
varchar(50) DEFAULT NULL,
Phone
varchar(50) NOT NULL, dep
int(11) NOT NULL, Roles
varchar(1000) NOT NULL DEFAULT '0|', Groups
varchar(1000) NOT NULL
DEFAULT '0|', Access
varchar(1000) NOT NULL DEFAULT '0|',
Access_block
varchar(1000) NOT NULL DEFAULT '0|', PRIMARY KEY
(id_User
) ) ENGINE=MyISAM AUTO_INCREMENT=37 DEFAULT CHARSET=utf8;
Данные записаны след. образом:
INSERT INTO user
VALUES ('1', 'Иванов И.И.', '18ae6e16fdf5397b18bb36020755ed84', 'Иванов', 'Иван', 'Иванович', 'email@gmail.com', '666-66-66', '4', '0|', '1|2|', '0|', '0|');
CREATE TABLE access_rights
( id
int(11) NOT NULL AUTO_INCREMENT,
Name
varchar(100) NOT NULL, Description
varchar(2500) NOT NULL,
PRIMARY KEY (id
,Name
) ) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT
CHARSET=utf8;
Данные записаны след. образом:
INSERT INTO access_rights
VALUES ('7', 'Журнал регистрации', 'Просмотр журнала регистрации');
CREATE TABLE roles
( id
int(11) NOT NULL AUTO_INCREMENT, Name
varchar(100) NOT NULL, Description
varchar(2500) NOT NULL,
id_access_rights
varchar(1000) DEFAULT NULL, PRIMARY KEY
(id
,Name
) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
ROW_FORMAT=COMPACT;
Данные записаны след. образом:
INSERT INTO roles
VALUES ('1', 'Администратор', 'Администратор', '1|2|3|4|5|6|7|8|9|10|11|12|13|14|16|17|0|');
CREATE TABLE groups
( id
int(11) NOT NULL AUTO_INCREMENT, Name
varchar(100) NOT NULL, description
varchar(2500) NOT NULL,
id_roles
varchar(1000) DEFAULT NULL, PRIMARY KEY (id
,Name
) )
ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
Данные записаны след. образом:
INSERT INTO groups
VALUES ('1', 'САдмины', 'Администратор у которого есть доступ ко всему', '1|2|');
По запросу через WCF передаю все права пользователя клиенту для прорисовки интерфейса программы, Согласно назначенным группам, ролям и правам доступа из таблицы user.
Схема не идеальная, просьба подсказать как ее (схему) привести к идеалу.
Либо подсказать новую схему если она идеальная.
Поделитесь информацией у кого как организованы данные схемы.
p.s. Информация для параноиков, что права можно подменить: клиенту права доступа отдаю только для прорисовки интерфейса, при выполнении функций идет проверка прав доступа на стороне сервера (WCF).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я вот пишу для своих нужд небольшую библиотеку для работы с длинными числамиНаписал и сложение, и умножение методом Карацубы