Как создать пользовательский тип контента, который можно создавать / редактировать, в cms orchardproject.net - PullRequest
2 голосов
/ 23 мая 2011

Я настраиваю CMS OrchardProject.net. Я бы хотел, чтобы пользователи могли отправлять «документы». Это простой ContentType с одним текстовым полем.

Это очень просто для пользователя с правами администратора, но я хочу, чтобы обычный пользователь не имел доступа к панели администратора для его создания. Пользователи могут отправлять комментарии, но есть много шагов, чтобы перейти к этой модели. (Запись, часть, контроллер, viewModel, представления и т. Д.)

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

1 Ответ

1 голос
/ 24 мая 2011

Если вы хотите, чтобы Роль имела возможность создавать и публиковать контент "Акта" на своем сайте, вы можете перейти в Роли (Панель инструментов -> Пользователи -> Роли на вкладке в Orchard 1.1) и дать различные разрешения на роль (существующие или новые). Затем вы назначаете роль пользователю.

После добавления типа контента с именем Deed (обязательно включите Common Part), на вкладке Роли доступны следующие разрешения:

Опубликовать или отменить публикацию для других
Опубликовать или отменить публикацию Акта
Редактировать акт для других
Редактировать акт
Удалить документ для других
Удалить документ

Так, например:

  1. Создание роли, DeedCreator с двумя разрешениями «Опубликовать или отменить публикацию ...» (в разделе «Дело»
  2. Вам также необходимо предоставить разрешения «Доступ к панели администратора» в разделе Orchard.Framework
  3. Создать пользователя, Пользователь1 с ролью DeedCreator

Даже если вы предоставили разрешения панели администратора Access, пользователь сможет получить доступ только к странице «Создать документ» на панели инструментов - ничего больше.

Если вы хотите разрешить анонимным пользователям (действительно, действительно, действительно , а не не рекомендуется), вы можете технически предоставить вышеупомянутые разрешения для роли анонимного пользователя. Имейте в виду, что анонимные пользователи будут иметь как минимум поверхностный угол атаки на вашу панель управления. Любой пользователь может перейти на сайт www.yoursite.com/admin и начать создавать контент Deed.

Обновление за комментарий

Когда я сохранил мой тестовый документ, вот как выглядит POST для / Admin / Contents / Create / Deed :

Body.Text:<p>test useraddable add (save)</p>
Deed.UserField1.Value:blah blah
CommentsActive:true
CommentsActive:false
CommonPart.Owner:admin
CommonPart.ContainerId:
submit.Save:submit.Save

Плюс, было значение для __RequestVerificationToken, которое я не уверен, как генерировать. (Может быть, с помощью Html.BeginAntiForgeryPost помощника в пространстве имен Orchard.Mvc.Html

...