Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 6

Перенаправление после успешной авторизации в зависимости от роли пользователя через класс LoginView()

18.01.2022, 11:37. Показов 1789. Ответов 3

Студворк — интернет-сервис помощи студентам
Товарищи, всем доброго времени суток.
Не так давно решил освоить Django, поэтому не обессудьте, вопросы будут достаточно простые, но при этом я считаю они недостаточно раскрыты в той литературе, которую я изучал.

Вопрос следующий:

Есть приложение, в котором существует несколько ролей пользователей:

1. Персонал, с полным набором прав к приложению, в том числе к админке.
2. Простые пользователи с доступом только к одной форме, после успешно, пройденной аутентификации.

Код, который реализовал я ниже.

Python
1
2
3
4
5
6
7
8
9
10
11
12
class PLoginView(LoginView):
    template_name = 'portal/login.html'
 
    def dispatch(self, request, *args, **kwargs):
        if request.method == 'POST':
            user = authenticate(username = request.POST['username'], password = request.POST['password'])
            if user is not None and user.is_staff:
                #self.extra_context={'next': '/account/my_custom_url1/'}
                self.next_page = '/'
            else:
                self.extra_context={'next': '/account/my_custom_url2/'}
        return super().dispatch(request, *args, **kwargs)
Мое решение - рабочее.
Подскажите, есть ли более правильное решение данного вопроса.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2022, 11:37
Ответы с готовыми решениями:

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

Получение фото и имени пользователя после успешной авторизации Vk
Всем привет, у меня очередной вопрос, вот я сделал программу все отлично работает, Авторизирует на сайте Вконтакте ру. И мне хотелось бы...

Перенаправление на определенную страницу после аутентификации в зависимости от роли
Всем доброго времени суток! Стоит задача - сделать веб-сайт для работы с БД. Разные сотрудники заходят на разные страницы. Так как...

3
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
21.01.2022, 09:11
А если юзер наберет руками "{domain}/{some}" после того, как авторизуется? Т.е. тут у тебя просто роутинг по сути настроен. На все страницы, недоступные обычному юзеру надо навешать permissions.
0
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 6
21.01.2022, 09:19  [ТС]
Добрый день. Спасибо за комментарий. Вопрос собственно и стоит именно в роутинге. Ваше замечание совершенно справедливо звучит. И для всем контроллеров в моем небольшом проекте будет применена ролевая модель. Меня же сейчас интересует именно правильное оформление перенаправления в коде.
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
21.01.2022, 09:21
Цитата Сообщение от kukumber4949 Посмотреть сообщение
интересует именно правильное оформление перенаправления в коде
Это творческая составляющая. Можно и кучу дерьма получить на голову за совершенно правильный код. Есть конечно и best practice, но их тоже достаточно много.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2022, 09:21
Помогаю со студенческими работами здесь

Скрыть div после успешной авторизации
Все привет! В общем имеется код(смотрите ниже). Так вот, как сделать так, чтобы после успешнойавторизации форма входа скрывалась,...

Создание MainForm после успешной авторизации
В общем застрял на следующем: есть 4 формы: MainForm, с которой происходит запуск Form2, Form3 и AuthForm, которая представляет собой...

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

После успешной авторизации недоступен сайт на iis
Есть сайт на iis 10. До авторизации работает, после вода логина пароля ошибка ERR_HTTP2_PROTOCOL_ERROR. В логах последняя запись при...

Как сделать редирект на страницу после авторизации успешной?
Вопрос простой до безумия, тем более учитывая то, что у меня после авторизации уже выскакивает сообщение "Успешно авторизованы" ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru