2011-05-23 40 views
2

我定制的OrchardProject.net厘米。我希望用户能够提交“契据”。这是一个带有单个文本字段的简单ContentType。如何创建一个用户可创建/编辑内容orchardproject.net CMS型

这是一个具有管理员权限的用户是小菜一碟,但我想一个普通用户无需访问管理面板来创建它。用户可以提交评论,但是有很多事情需要跳过来遵循这个模型。 (录音,部分,控制器,视图模型,视图等)

我觉得默认的系统提供了这一点,但我想不通的路线让它生成它。

回答

1

如果你想给一个角色到您的网站上创建和发布“契约”内容的能力,你可以进入角色(仪表板 - >用户 - >在果园1.1角色选项卡),并给予不同的权限一个角色(现有的或新的)。然后,您可以将角色分配给用户。

添加名为契约内容类型后(一定要包括常见部分),该角色选项卡允许以下权限:

发布或为他人
取消发布契据发布或取消发布契约
编辑契约为他人
编辑契约
为他人删除契约
删除契约

因此,例如:

  1. 创建角色,DeedCreator与两个“发布或取消发布...”权限(在契约部分
  2. 您还需要授予“访问管理面板“在Orchard.Framework部分
  3. 权限创建一个用户,用户1 作用DeedCreator

即使您授予访问管理控制台的权限s,用户将只能访问仪表板中的Create Deed页面 - 没有别的。

如果您想允许匿名用户(实际上,真的,推荐使用而不是),您可以在技术上将上述权限授予匿名角色。请记住,匿名用户将不得不攻击到仪表板至少在表面层次的角度。任何用户都可以导航到www.yoursite.com/admin并开始创建契约内容。根据注释

更新

当我保存我的测试契约,这里是什么POST到/管理/内容/制作/契据看起来像:

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,这我不知道如何生成一个值。 (也许用在Orchard.Mvc的Html.BeginAntiForgeryPost帮手。Html命名空间

+0

好吧,这让我80%的路上,thx!最终,我想让他们能够从网站本身提交“契据”。我对表单元素有什么“行动”的价值? “〜/管理/内容/制作/契约”?有没有类似“〜/ Contents/Deed/Create”或“〜/ Contents/Create/Deed”的路线? – DanielEli 2011-05-23 23:10:10

+0

太棒了!谢谢您的帮助! – DanielEli 2011-05-24 16:09:21

+0

@DanielEli您是否可以使用'Html.BeginAntiForgeryPost'来确认__RequestVerificationToken的值?如果是这样,我会说你有详细信息破解仪表板生成的相同的POST :) – 2011-05-24 16:11:34

相关问题