Рейтинг:0

Разрешить анонимному пользователю загружать pdf из своей собственной веб-формы

флаг ng

Я настроил entity_print с веб-формой для D8 и могу загрузить представление в формате pdf из представления представления.
Теперь я попытался разрешить анонимным пользователям заполнять форму и добавил ссылку на pdf на странице подтверждения. Я проверил показ собственных представлений для гостей на странице разрешений этой веб-формы.
Но когда я пытаюсь получить доступ к pdf с отправленными данными, я получаю сообщение об отказе в разрешении.
http://mywebsite/print/pdf/webform_submission/15?view_mode=html, похоже, не помогает.

Вариант использования таков: отобразите страницу подтверждения с отправленными значениями для пользователя и позвольте пользователю загрузить ее в формате pdf. Есть намеки на это?

Тем временем я нашел эту тему: https://www.drupal.org/project/entity_print/issues/2896424 Что говорит о добавлении
{{ content[0]['#webform_submission'].data.FIELD_NAME }}
тоже шаблон должен работать. В то время как имя поля должно быть именем поля entityPdf/Attachment. Но добавление его в мой шаблон webform-confirmation.htmltwig ничего не возвращает.

Это тоже указывает в том же направлении: https://www.drupal.org/project/webform/issues/3198932 Это кажется решением. После выполнения следующих действий:

  1. Добавить разрешения для анонимных пользователей — «Отправка веб-формы: использовать все механизмы печати»
  2. Включите «Разрешить пользователям просматривать отправку с использованием токена безопасности»
  3. Добавить ссылку на отправку с токеном [webform_submission:token-view-url]
  4. Отправьте веб-форму как анонимную и нажмите на ссылку -> Скачать PDF

Может быть, есть еще более изящное решение...

Хорошо, тем временем - срок действия так называемого безопасного токена не истекает, поэтому он больше похож на то, что все знают ссылку, не такой безопасный токен :-(

Рейтинг:0
флаг ng

Хорошо, поиграв с несколькими вариантами, лучший способ, на мой взгляд, таков:

  • установить сущность print и wktmltopdf
  • предоставить гостевым пользователям доступ к их собственным материалам (/admin/people/permissions)
  • предоставить гостевым пользователям доступ к использованию любого механизма печати (/admin/people/permissions)
  • добавьте сообщение с подтверждением, например «Спасибо, что связались с нами, вы можете загрузить отправленные данные здесь (в /admin/webform/manage/kontakt/settings/confirmation)
  • Ссылка на PDF-файл выглядит так: /print/pdf/webform_submission/[webform_submission:sid]

Доступ к данным больше не будет возможен после истечения времени ожидания сеанса. Так что не должно быть проблем с безопасностью данных.

Упомянутый выше метод безопасного токена не сработает в тех случаях, когда безопасность данных играет роль, поскольку токен никогда не истекает, и его можно легко получить из истории браузера.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.