Занялся разработкой системы управлением отчетами факультета для института
с Web-интерфейсом. Есть вопросы по безопасности.
Сейчас используется такая схема:
Стоит windows авторизация и разрешен анонимный доступ. На главной странице есть кнопка "Войти". Там генерируется 401 если AUTH_USER=="" и у пользователя выскакивает окно для ввода пароля.
Далее..
в SQL есть четыре таблицы (есть 4 группы с разными правами доступа), в них ранятся windows-логины пользователей. Например есть таблица Admins — в ней хранятся логины, у которых есть полный доступ к сайту. Один логин может быть
в нескольких таблицах — в этом случае пользователю предоставляется выбор роли(?)
типа: вход для декана, проподавателя, и т.п.
А вот дальше вопросы.
Если пользователь авторизирован и выбрана текущая роль, эту информацию надо
загонять в куки. чтобы другие страницы могли ею пользоваться. ЧТО туда надо загонять и в каком виде ?
Допустим
имя пользователя и текущую роль.
потом в каждой странице проверять куки — если их нет, то идем авторизироваться, есть — идем дальше.
Или сделать без куков, вот так:
так как имя пользователя можно достать из AUTH_USER, то фактически нужно передать
только роль, а это можно сделать через строку запроса.
Вопросы
Насколько приемлима вышеописанная схема ?
Нужно ли шифровать куки ?
Какой вариан предпочтительней — с куками или нет ?
Какими еще способами можно реальзовать разделение пользователей на группы ?
(например сделать глобальные группы в домене. Так лучше или хуже ?
причем администрирование групп тоже из браузера)