демо-счет devise / cancan - PullRequest
       7

демо-счет devise / cancan

3 голосов
/ 13 апреля 2011

Я использую devise / cancan для своего приложения, и все довольно хорошо - при условии, что пользователь создает учетную запись и выполняет вход.

Что я хотел бы сделать, это позволить пользователю начать работу без создания учетной записи. А затем зарегистрируйтесь, если они действительно хотят сохранить свою работу.

Кто-нибудь сталкивался с этим раньше? Должен ли я выяснить, как создать фиктивные аккаунты с помощью devise? Или разрешить неавторизованным пользователям доступ к созданию моделей в моем приложении через CanCan?

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

Заранее спасибо, Mike

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Если вы создадите фиктивные учетные записи, вам придется каким-то образом отслеживать пользователя с помощью файла cookie и кэшировать значения этого файла cookie в вашей базе данных.Канкан допускает гостевые учетные записи через модель способностей.Например:

user ||= User.new # Guest user, for users who are not registered or don't have an account yet

Этого достаточно, чтобы вы начали применять разрешения для незарегистрированных пользователей.Обратите внимание, что отслеживание только с помощью файлов cookie не очень надежно и может привести к некоторому типу угрозы безопасности (т. Е. С помощью захвата файлов cookie).Пользователь в один прекрасный день может также решить удалить свои куки.

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

Надеюсь, это поможет!

0 голосов
/ 14 апреля 2011

Я на самом деле рассматриваю ту же проблему, у меня есть приложение для составления календаря.Чтобы решить эту проблему, я думаю, что вы используете

user ||= User.new

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

...