Уведомления

Группа в Telegram: @pythonsu

#1 Март 21, 2019 08:23:32

lithon_bcf
Зарегистрирован: 2019-03-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация через middleware

Добрый день, сразу скажу, что я абсолютной новичок в данной теме, но мне очень нужна помощь. Нужен пример сайта с простейшей авторизацией через middleware и реализованным в нем словарем сессий. Пользователем вводится логин и пароль, он сравнивается с значениями в словаре. типа {'id сессии':{параметры сессии}} ( которые заранее вбиты, к примеру Админ и юзер), если логин и пароль подходят то просто выдается сообщение об успешной авторизации, иначе выдает сообщение о неправильном вводе.

Отредактировано lithon_bcf (Март 21, 2019 11:09:00)

Офлайн

#2 Март 22, 2019 00:09:32

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

Авторизация через middleware

Если пользователь где то вводит логин и пароль - это views ака вьюшки. middleware для этого не предназначены.

Офлайн

#3 Март 22, 2019 04:46:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Авторизация через middleware

VadimK
middleware для этого не предназначены
Да ладно! Пользователь же не на каждый реквест вводит логин и пароль. Какой-то код должен вытащить кукисы из запроса, получить сессию, создать пользователя. Именно middleware этим и занимается. А если у вас JWT? А если юзер логинится через LDAP? lithon_bcf вероятно путает авторизацию с аутентификацией, прочем, и то и другое вполне себе реализуется через middleware.



Офлайн

#4 Март 22, 2019 14:49:59

lithon_bcf
Зарегистрирован: 2019-03-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация через middleware

FishHook

FishHook
Здравствуйте, а можете небольшой пример предоставить, просто я никак не могу понять как это реализовать.

Офлайн

#5 Март 22, 2019 15:00:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Авторизация через middleware

lithon_bcf
Вы сейчас просите готовый фреймворк вам дать причем на основе ровно двух строк якобы технического задания? Да это бред. Смотрите в код Django, Flask, Pyramid - там реализовано ровно то, что вы хотите. А набросать для вас веб-сервер с нуля забесплатно, а зачем это кому то надо? Это работа и она требует усилий.



Офлайн

#6 Март 26, 2019 02:54:38

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

Авторизация через middleware

FishHook
Да ладно! Пользователь же не на каждый реквест вводит логин и пароль
Вот именно, вводит логин и пароль, а не передает его через GET на произвольную страницу или уже тем более не POST методом на какую либо картинку или файл.

Кстати в той же джанге ничего подобного к примеру я не видел. Ссылочку можно на конкретный кусок документации ? Или как ТСа отбреете “не барское это дело объяснять”

Офлайн

#7 Март 26, 2019 04:59:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Авторизация через middleware

VadimK
Кстати в той же джанге ничего подобного к примеру я не видел.
Что вы не видели в джанге? Вы не видели django.contrib.auth.middleware.AuthenticationMiddleware? Или django.contrib.sessions.middleware.SessionMiddleware?



Отредактировано FishHook (Март 26, 2019 05:00:20)

Офлайн

#8 Март 26, 2019 11:38:13

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

Авторизация через middleware

Это относится с уже ранее залогиненым юзерам, кому созданна сессия. А для нового юзера сессия из неоткуда не возьмется, кроме как пройти процесс авторизации. Либо через remote_user указать, что это юзер из другой системы. Но и в данном случае, авторизация происходит , но только где то в другом месте. а не на текущем сайте.
В общем авторизация юзера или идентификация - разные вещи. В начальном посте ясно сказано - вводятся логин и пароль.

Офлайн

#9 Март 26, 2019 11:58:29

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Авторизация через middleware

можно взять aiohttp - там легко оч легко делается middleware, легче чем в джанге (за фласк не скажу, не делал).
Но в целом я думаю что автор типичный студент, который ничего не знает, а задание делать надо…поэтому его стартовый топик действительно правильно бы переписать не “нужен пример”, а “нужно полностью готовый маленький проект” прям что бы в таком виде передать требуемой стороне. Посему нужны не советы, а взять и сделать. Кто нибудь на это подпишется? Пока что желающих не видно.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Март 26, 2019 12:04:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Авторизация через middleware

VadimK
Джаляб! Надоело. Ерунду какую-то перетираем.
Во-первых,

VadimK
В общем авторизация юзера или идентификация - разные вещи.
потрясающая мысль!
VadimK
А для нового юзера сессия из неоткуда не возьмется, кроме как пройти процесс авторизации.
То что ты называешь авторизацией, это аутентификация.
Во-вторых,
VadimK
middleware для этого не предназначены
А для чего же они предназначены? middleware - это промежуточный слой логики, код между двумя крупными частями системы, между клиентом и сервером, между сервером и СУБД, между сервером и кешем, между моделью и контроллером и т.д. Он может делать всё что угодно в твоей архитектуре, вот буквально всё, что ты решишь в этот слой вынести.

VadimK
Или как ТСа отбреете “не барское это дело объяснять”
Э? А что я должен ТСу объяснять? Он не задал ни одного вопроса.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version