scurramalum
Май 12, 2015 11:22:48
Добрый день, помогите разобраться
либо туплю, либо по незнанию - никак не могу поймать мысль, как реализовать правильно такую идею:
есть проект на джанго.
есть таблица с именами и паролями в уже имеющейся базы - это пользователи сайта (в файле model.py описана эта таблица в виде модели OurClient).
есть таблица созданная приложением auth, в котором пока что храниться только 1 пользователь - администратор сайта (тот, что создается при создании проекта)
Две эти таблицы - различные по структуре.
Необходимо, реализовать админку таким образом, допустим по адресу /admin/, таким образом, чтобы доступ туда не имели пользователи OurClient, а только администраторы из таблицы auth. Притом чтобы вообще, пользователи OurClient не могли даже выйти на страницу авторизации для админки. А если они уже авторизованы на сайте, с помощью обычной формы - то все равно, при заходе на эту страницу выдавалась ошибка. Также необходимо, чтобы была сохранена полная интеграция с django.session… или как писать сессии в таком случае?
FishHook
Май 12, 2015 11:33:10
ИМХО, проще два сайта сделать.
inoks
Май 12, 2015 13:49:35
Зачем два сайта?
Создайте пользователей из этой второй таблицы и свяжите их полем one2one с ней.
Права staff им не давайте и будете одни в админке.
Если надо - урл в админку спрячьте вообще, переименовав стандартный префикс.
scurramalum
Май 12, 2015 14:50:02
inoks
Зачем два сайта? Создайте пользователей из этой второй таблицы и свяжите их полем one2one с ней.Права staff им не давайте и будете одни в админке.Если надо - урл в админку спрячьте вообще, переименовав стандартный префикс.
не совсем понял…
1 таблица пользователей - создается сторонним приложением (программа 1С)
2 таблица (сотрудники компании, которые допущены к модерации сайта) - должны создаваться средствами сайта.
PS
два сайта не вариант…
FishHook
Май 12, 2015 15:21:01
inoks
Зачем два сайта?
А как средствами джанги скрыть админку так, чтобы
scurramalum
Притом чтобы вообще, пользователи OurClient не могли даже выйти на страницу авторизации для админки.
scurramalum
Май 12, 2015 16:36:23
FishHook
А как средствами джанги скрыть админку так, чтобы
“Притом чтобы вообще, пользователи OurClient не могли даже выйти на страницу авторизации для админки.”
я тут подумал, что наверное это не критично будет…можно будет скрыть данную страницу средствами сервера, закрыв доступ посетителям из вне локальных адресов компании…просто как вариант решения именно этой проблемы (поправьте, если ошибаюсь). Но как быть с остальным?
PS
но в таком случае, необходимо закрыть полностью доступ в админку (чтобы даже авторизация не проходила), сохранив при этом авторизацию на всем сайте. (сейчас пользователи могут зайти в админку, правда прав на редактирование чего-либо нет)
inoks
Май 13, 2015 00:27:42
FishHook
А как средствами джанги скрыть админку так, чтобы
1)Переименовать стандартный импорт с /admin на /hren_podberesh_adres_admina
2) это нафик не нужно, т.к. обычный пользователь без прав staff туда все равно не войдет
Пользователей сайта создавайте по данным таблицы 1с (а что это за таблица в 1с такая?), например планировщиком.
Вам кастомная авторизация в джангу наверное не нужна совсем, без серьезных знаний джанги.