2010-07-27 5 views
1

У меня есть собственный тип контента в drupal, который я разрешаю даже анонимным пользователям создавать. Я хотел бы также дать им возможность вернуться и отредактировать свои творения после того, как они впервые опубликовали его, но это вызов.Разрешить анонимным пользователям редактировать их содержимое? Модуль Drupal, идеи

Поскольку они являются «анонимными», я бы предположил, что система разрешений drupal не сможет связать контент с пользователем, который его первоначально создал.

Куда это меня покидает? Я думаю, браузерные куки или что-то в этом роде? Я не уверен.

Есть ли существующий модуль, который может помочь в этом, или идеи для создания нового?

ответ

2

В Drupal или в какой-либо системе действительно. Лучше всего полагаться на ключ и опыт, его легче зарегистрировать. В Drupal, если человек является anon, они являются UID 0, и больше ничего не сохраняется о них. Другой пользователь указал в другом сообщении, что Drupal не отслеживает идентификаторы сеансов для анонимных объектов пользователей, поэтому вам придется работать с чем-то вроде session_id().

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

+0

Я могу понять, почему сейчас больше работать, но можете ли вы объяснить, почему это кошмар управления «позже»? – drupal

4

Вы можете сохранить идентификатор в файле cookie, но если пользователь удалит его, больше не будет возможности идентифицировать его. Вы также можете сохранить запись IP-адресов, но это также не на 100% надежнее.

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

+0

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

+0

Да, но из коробки Drupal не может работать с такими пользователями, как SO. Так подумал об этом раньше времени. – Kevin

+0

, и они будут использовать комбинацию файлов cookie и/или IP-адресов. Удалите свои файлы cookie и зайдите на анонимный сайт серфинга и посмотрите, можете ли вы по-прежнему редактировать свой пост без входа в систему;) –

2

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

Вы можете использовать модуль CCK Password Field для добавления поля CCK для пароля или использовать hook_form_alter для непосредственного изменения node_form и предоставления собственного CRUD в настраиваемом модуле. Heck, анонимный доступ к редактированию, вероятно, не обязательно должен быть таким безопасным, и вы можете уйти с текстовым полем CCK для хранения пароля.

+0

Я не думаю, что это побеждает цель быть анонимным вообще. Для пользователя анонимный означает, что я не хочу беспокоиться о регистрации и подтверждении моей электронной почты. Друпал решил назвать это анонимным. Они могли бы назвать его не зарегистрированным, и это будет одно и то же. Я хочу предложить этим ленивым пользователям возможность редактировать свой контент. Конечно, гарантия, которую я им даю, очень мала, потому что они дали мне небольшое обязательство начать. – drupal

+0

Чтобы определить анонимность как ленивых людей, это очень узкое определение анонимного. Существует несколько разных случаев, которые по-прежнему считаются анонимными, но не будут сохранять сеанс: использование анонимайзера или посещение сайта из разных мест, чтобы назвать два. Вот почему Drupal рассматривает анонимность как одного пользователя: если вы отслеживаете сеансы, это уже не анонимно. Принудительная регистрация или что-то вроде того, что я предложил, делает сеанс или пользовательское отслеживание явным, стабильным и не оставляет слово «анонимный» для обсуждения. – 2010-07-28 01:50:31

1

Хотя это старая нить, добавив, что я знаю об этом:

Узел Авторизоваться ссылка выглядит интересный модуль, чтобы просто сделать это. Он создает ключи авторизации (для просмотра/редактирования/удаления), которые могут быть отправлены анонимным пользователям по электронной почте в виде ссылки.

http://drupal.org/project/node_authlink

Смежные вопросы