Orchard 之:Widget,兼看 Layer 在权限控制中的作用

简介:

一:Widget

可以理解为控件,可以直接被页面所引用。行为类似与分部页面,比如,我们可以创建一个 商品列表 Widget,然后这个 Widget 就可以被很多页面所引用。

理解 Widget 这个概念,我们不得不理解另外两个概念:

1:Layer

Orchard 默认有这么几个层,Default、Authenticated、Anonymous、Disabled、TheHomepage。Layer 用于承载什么时候 Widget 将会被展现,这么讲大家一定觉得很抽象,其实 Layer 存在的意义完全在于其Rule。我们新建或者修改 Layer 的时候,就会出现 Rule,那么,Layer Rule 到底是什么,

它是一个布尔表达式,当这个表达式的值为 true 的时候,层中的 Widget 就显式,否则不显式。

举例来说:如果我们新建一个层,其 Rule 如果,

填写为:(not authenticated and url("~/about")) or authenticated

则表明:(未登录用户 且 URL 中 有 about)的可显式,或者 登录用户 可显式

注意,authenticated 作为 orchard 这里的关键字,被程序判断为 登录用户 的意思。如果有兴趣,可寻求代码验证。全部的被 Layer rule 表达式支持的关键字如下:

url("<url path>"):url匹配,如: url("~/home*")

authenticated:True 如果用户登录的话.

ContentType("<Type>"):True 如果 content type 匹配的话,如:ContentType("Page")

not:逻辑 NOT.

and:逻辑 AND.

or:逻辑:OR.

1.1 Layer 权限控制

鉴于 Layer 的这个特性,它的一个重要的作用可被用于权限控制。如 Authenticated 这个层,其 Rule 直接为 authenticated,这样的话,就意味着,这个层里的所有东西,只有登录用户才可见的。

 

2:Zone

理解为页面上的 占位(或者叫占位符),在页面展现的时候,它被用来展现 Widget。

image

我们要清楚:站点Theme实际上是定义 Layer,而 Layer 则是定义哪个 Zone 可用。我们在上图中看到的这些 Zone 就是当前 Theme 的所有的 Zone。

我们随便编辑一个 Widget,就能大致看清楚它们之间的关系了,如下:

image


本文转自最课程陆敏技博客园博客,原文链接:http://www.cnblogs.com/luminji/p/3844703.html,如需转载请自行联系原作者

相关文章
|
6月前
|
移动开发 HTML5
SAP UI5 命名空间 com.sap.vocabularies.UI.v1 的作用介绍
SAP UI5 命名空间 com.sap.vocabularies.UI.v1 的作用介绍
51 0
|
6月前
|
JavaScript 前端开发 数据处理
SAP UI5 命名空间 com.sap.vocabularies.Common.v1 的作用
SAP UI5 命名空间 com.sap.vocabularies.Common.v1 的作用
48 0
|
7月前
|
存储 前端开发 安全
SAP UI5 应用的标准 Theme 和自定义 Theme 的加载讨论
SAP UI5 应用的标准 Theme 和自定义 Theme 的加载讨论
58 1
|
6月前
|
算法
sap.ui.comp.smarttable.SmartTable 一些属性的用法阐述
sap.ui.comp.smarttable.SmartTable 一些属性的用法阐述
52 1
|
开发框架 小程序 开发工具
APICloud AVM框架列表组件list-view的使用、flex布局教程
avm.js 是APICloud 推出的多端开发框架。使用 avm.js 一个技术栈可同时开发 Android & iOS 原生 App、小程序和 iOS 轻 App,且多端渲染效果统一;全新的 App 引擎 3.0 不依赖 webView,提供百分百的原生渲染,保障 App 性能和体验与原生 App 一致。
172 0
APICloud AVM框架列表组件list-view的使用、flex布局教程
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(三)
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(三)
201 0
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(三)
|
Java
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(二)
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(二)
95 0
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(二)
|
XML Android开发 数据格式
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(一)
【鸿蒙 HarmonyOS】界面跳转 ( Page Ability 的 action 标识 | Page Ability 之间的界面跳转及传递数据 | 鸿蒙工程下创建 Module | 代码示例 )(一)
311 0
SAP CDS view(Core Data Service)自学的一些材料和方法
SAP CDS view(Core Data Service)自学的一些材料和方法
119 0
SAP CDS view(Core Data Service)自学的一些材料和方法
|
SQL 数据安全/隐私保护 Android开发
SAP CDS view权限控制实现原理介绍
SAP CDS view权限控制实现原理介绍
185 0
SAP CDS view权限控制实现原理介绍