Как авторизовать публичных пользователей, когда они получают доступ на определенной странице, только для чтения - PullRequest
0 голосов
/ 08 февраля 2012

Общий тип вопроса.У нас есть веб-приложение, написанное на Zend, и мы делаем отчеты для наших зарегистрированных пользователей.Теперь мы хотим создать определенный отчет для незарегистрированных пользователей и отправить им ссылку, чтобы они могли видеть этот отчет.Но мы не хотим, чтобы другие пользователи имели доступ к этой странице.

Одна из идей - создать хешируемый URN, хотя бы одну часть, что-то вроде

www.myaddress.com/2309039dskdfskj4/ReportStats/ 

Какое лучшее решение для этогопроблема

1 Ответ

2 голосов
/ 08 февраля 2012

Я бы отправил электронное письмо тем незарегистрированным пользователям, которым вы хотите показать отчет (скажем, людям из списка рассылки, который вы ведете).

В этом письме есть ссылка, по которой они могут перейтиto: example.com / reportsample.php

На этой странице попросите их подтвердить свой адрес электронной почты (отправлять запросы только тем пользователям, которые у вас есть) и сообщить им единовременно.Приглашение на отчет отправлено, срок действия которого истекает через 24 часа.

В таблице в вашей базе данных напишите запись, в которой хранится случайное значение идентификатора, и задайте в этой записи поле "NOTVIEWED"

Затем, когда пользователь проверит свою электронную почту, он увидит ссылку на: example.com / reportsample.php? Access = 123456 (где 123456 - это произвольный идентификатор)

После того, как пользовательщелкнув по нему, они могут просмотреть отчет, и запись базы данных для этого идентификатора будет обновлена ​​до «ПРОСМОТР».

Если кто-то попытается снова просмотреть эту ссылку, он не сможет - пользователь будетдолжен запросить доступ снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...