Size: a a a

Django [ru] #STAY HOME

2020 September 01

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Evgeniy Grygoriev
А можно пример вывода в шаблоне?
Mptt гугли
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
не слишком ли? mptt для одного уровня
источник

EG

Evgeniy Grygoriev in Django [ru] #STAY HOME
Я тоже думаю что перебор
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Evgeniy Grygoriev
А можно пример вывода в шаблоне?
{{ my_model.parent }}
источник

EG

Evgeniy Grygoriev in Django [ru] #STAY HOME
Это как бы не сильно трудная задача.
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Artem Gubatenko
не слишком ли? mptt для одного уровня
Зато резиново. Если придётся, добавлять уровень, будет геморно переписывать.
Но если он на 100% уверен, то конечно
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
https://djangopackages.org/grids/g/tree-traversal/

Treebeard тоже интересная и не очень тяжёлая штука
источник

EG

Evgeniy Grygoriev in Django [ru] #STAY HOME
Не выходи из комнаты.
Зато резиново. Если придётся, добавлять уровень, будет геморно переписывать.
Но если он на 100% уверен, то конечно
Больше 1 уровня 100% не будет
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Evgeniy Grygoriev
Больше 1 уровня 100% не будет
Тогда не стоит это брать
источник

EG

Evgeniy Grygoriev in Django [ru] #STAY HOME
Всем спасибо. Попробую
источник

EG

Evgeniy Grygoriev in Django [ru] #STAY HOME
Хорошего дня
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
удачи)
источник

НВ

Николай Ветров... in Django [ru] #STAY HOME
Добрый день.
Делаю авторизацию веб-приложения через корпоративный ldap сервер(AD).  
Напишу, что сделал, а после что не понятно. Прошу вас помочь.


1.  Написал класс Auth, который сам берёт из AD нужные мне атрибуты и валидирует пользователя. Требуется входные данные: логин и пароль.
2.  Использовал   LoginView для входа в приложение.  
       path('login/', views.LoginView.as_view(), name='login'),
        path('logout/', views.LogoutView.as_view(), name='logout'),
 
Под локальным пользователем(Django) заходит в приложение спрашивая логин и пароль, а после редиректит на гланую страницу.  

В какой метод  мне надо подставить мой класс, чтобы я мог реализовать вход через LDAP? Откуда его вызвать.  Использую CBV.    

Если кто-то делай что-то похожие подскажите.
источник

AK

Artyem Klimenko in Django [ru] #STAY HOME
Николай Ветров
Добрый день.
Делаю авторизацию веб-приложения через корпоративный ldap сервер(AD).  
Напишу, что сделал, а после что не понятно. Прошу вас помочь.


1.  Написал класс Auth, который сам берёт из AD нужные мне атрибуты и валидирует пользователя. Требуется входные данные: логин и пароль.
2.  Использовал   LoginView для входа в приложение.  
       path('login/', views.LoginView.as_view(), name='login'),
        path('logout/', views.LogoutView.as_view(), name='logout'),
 
Под локальным пользователем(Django) заходит в приложение спрашивая логин и пароль, а после редиректит на гланую страницу.  

В какой метод  мне надо подставить мой класс, чтобы я мог реализовать вход через LDAP? Откуда его вызвать.  Использую CBV.    

Если кто-то делай что-то похожие подскажите.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Николай Ветров
Добрый день.
Делаю авторизацию веб-приложения через корпоративный ldap сервер(AD).  
Напишу, что сделал, а после что не понятно. Прошу вас помочь.


1.  Написал класс Auth, который сам берёт из AD нужные мне атрибуты и валидирует пользователя. Требуется входные данные: логин и пароль.
2.  Использовал   LoginView для входа в приложение.  
       path('login/', views.LoginView.as_view(), name='login'),
        path('logout/', views.LogoutView.as_view(), name='logout'),
 
Под локальным пользователем(Django) заходит в приложение спрашивая логин и пароль, а после редиректит на гланую страницу.  

В какой метод  мне надо подставить мой класс, чтобы я мог реализовать вход через LDAP? Откуда его вызвать.  Использую CBV.    

Если кто-то делай что-то похожие подскажите.
как я понял тебе нужно:
При входе на сайт:
1. сходить в AD за логином и паролем
2. получив эти данные и найдя юзера в БД, сказать джанго: "этот юзер авторизован"
3. Пропустить юзера дальше

Все верно?
источник

НВ

Николай Ветров... in Django [ru] #STAY HOME
Artem Gubatenko
как я понял тебе нужно:
При входе на сайт:
1. сходить в AD за логином и паролем
2. получив эти данные и найдя юзера в БД, сказать джанго: "этот юзер авторизован"
3. Пропустить юзера дальше

Все верно?
Верно.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
я вижу такую схему:
- пишешь миддлеварь
- добавляешь его ПОСЛЕ django.contrib.auth.middleware.AuthenticationMiddleware
- в нем:
— если request.user.is_authenticated - пропускаешь его
— иначе: идешь в АД; берешь логин/пароль; авторизуешь (https://docs.djangoproject.com/en/3.1/topics/auth/default/#django.contrib.auth.login); пропускаешь далее

вроде не сложно получается))
источник

НВ

Николай Ветров... in Django [ru] #STAY HOME
Artem Gubatenko
я вижу такую схему:
- пишешь миддлеварь
- добавляешь его ПОСЛЕ django.contrib.auth.middleware.AuthenticationMiddleware
- в нем:
— если request.user.is_authenticated - пропускаешь его
— иначе: идешь в АД; берешь логин/пароль; авторизуешь (https://docs.djangoproject.com/en/3.1/topics/auth/default/#django.contrib.auth.login); пропускаешь далее

вроде не сложно получается))
Для меня сложно.  В место LoginView я пишу обработчик, который сам проверяет логин и пароль. def my_view(request):
   username = request.POST['username']
   password = request.POST['password']
   user = authenticate(request, username=username, password=password)     <- Как сюда мне мидел свой подставить?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Николай Ветров
Для меня сложно.  В место LoginView я пишу обработчик, который сам проверяет логин и пароль. def my_view(request):
   username = request.POST['username']
   password = request.POST['password']
   user = authenticate(request, username=username, password=password)     <- Как сюда мне мидел свой подставить?
отсюда можешь взять только это:
user = authenticate(request, username=username, password=password)
   if user is not None:
       login(request, user)
источник

НВ

Николай Ветров... in Django [ru] #STAY HOME
Artem Gubatenko
отсюда можешь взять только это:
user = authenticate(request, username=username, password=password)
   if user is not None:
       login(request, user)
Первая ссылка была class SettingsBackend(BaseBackend): мне это не понятно.
источник