4

我正在为 Orchard CMS 编写模块,只有在用户获得授权的情况下,我才需要显示我的内容类型的所有部分。我可以在我的模块 (.cshtml) 视图中执行此操作吗?

关于这个:

if(<statement_about_authorization>)
   @T("part_1"): @Model.part_1<br />
else
   @T("part_2"): @Model.part_2<br />

或者也许用javascript?

4

2 回答 2

9

普通的 User.Identity.IsAuthenticated 可以工作,但 Orchard 也有一种很好的方式来根据定义的权限授权您的用户......

@if(Authorizer.Authorize(Permissions.PermissionName){

}

您可以在此处阅读有关定义权限的更多信息:Orchard Permissions

以及博客模块中关于如何定义自己的权限的示例:博客权限示例

于 2012-08-27T01:02:34.510 回答
3

我从来没有弄乱过 Orchard,但是在带有 asp.net 表单身份验证的 MVC 中,它看起来像这样:

if(User.Identity.IsAuthenticated)
    @T("part_1"): @Model.part_1<br />
else
    @T("part_2"): @Model.part_2<br />

通过一些谷歌搜索,看起来这也适用于 Orchard。

于 2012-08-26T06:27:09.747 回答