Я знаю, что это старый вопрос, о котором я хочу спросить, но я пытаюсь найти способ, с помощью моего python сценария входа в систему, установить CookCrumbler cook ie (s), которые автоматически отправляются пользователь при успешном входе в систему и посещении ограниченного URL.
Моя цель - разрешить моему python сценарию вызывать метод az sql и перенаправлять пользователя на основе его account_type (столбец в моей базе данных). У меня все это работает прямо сейчас, но в двух разных python скриптах. Первый вход в систему пользователя и перенаправляет на второй сценарий, который вызывает метод z sql и перенаправляет пользователя соответственно. Я хотел бы, чтобы все это можно было выполнить одним скриптом, но если куки не отправляются, имя пользователя этого пользователя не сохраняется в файле cook ie и, следовательно, не может быть доступно с помощью метода z sql.
Я знаю, как истечь куки при выходе из системы, но когда я изменяю его на setCook ie, он хочет, чтобы я определил всего повара ie, что, конечно, мне нужен CookieCrumbler.
Одна из моих мыслей заключалась в том, чтобы каким-то образом заставить python незаметно попасть по безопасному URL-адресу и доставить файлы cookie в браузер пользователя, поспать 2 секунды, чтобы убедиться, что они прошли, а затем перейти к sql. 1007 *
Другой вариант, о котором я уже упоминал, - заставить CookieCrumbler отправлять куки прямо в браузер пользователя, вместо того, чтобы пытаться получить доступ к защищенному URL.
Вот код, который я сейчас имею :
import time
request = container.REQUEST
response = request.response
context.REQUEST.RESPONSE.setCookie('__ac', path='/')
context.REQUEST.RESPONSE.setCookie('__ac_name', path='/')
time.sleep(3)
for user in context.account_data_select():
if user.account_type == 12 :
response.redirect("https://secure.mydomain.com/secure/blah")
else:
response.redirect("https://secure.mydomain.com/secure")
Конечно, это не работает, потому что setCook ie требует 3 переменных (имя, значение, опции). Я не хочу устанавливать это вручную. Я хочу, чтобы CookieCrumbler сделал свое дело и предоставил соответствующие куки для браузера пользователя.
Кстати, я использую Zope 2.13.29 и не использую Plone. Просто стандартный старый Zope с Python 2.7.2