diff --git a/docs/guide-zh-CN/concept-components.md b/docs/guide-zh-CN/concept-components.md
new file mode 100644
index 0000000000..22e0d23d9e
--- /dev/null
+++ b/docs/guide-zh-CN/concept-components.md
@@ -0,0 +1,87 @@
+组件(Component)
+==========
+
+组件是 Yii 应用的主要基石之一。组件是 [[yii\base\Component]] 类或其子类的实例。三个它能提供,其他类不能的主要功能有:
+
+* [属性(Property)](concept-properties.md)
+* [事件(Event)](concept-events.md)
+* [行为(Behavior)](concept-behaviors.md)
+
+或单独使用,或彼此配合,总之这些功能的应用让 Yii 的类变得更加灵活和易用。就拿一个叫 [[yii\jui\DatePicker|日期选择器]]
+的小部件来举例吧,这是个方便你在 [视图](structure-view.md) 中生成一个交互式日期选择器的 UI 组件,你们自己看这样的调用方式是不是很屌:
+
+```php
+use yii\jui\DatePicker;
+
+echo DatePicker::widget([
+ 'language' => 'zh-CN',
+ 'name' => 'country',
+ 'clientOptions' => [
+ 'dateFormat' => 'yy-mm-dd',
+ ],
+]);
+```
+
+正因为这个小部件继承自 [[yii\base\Component]],所以它的各项属性改写起来就会很容易……
+
+虽然组件非常屌爆,但是他们比常规的对象(Object)要稍微重量级一点点,因为他们要使用额外的内存和 CPU 时间来支持这些功能,尤其是
+[事件](concept-events.md) 和 [行为](concept-behaviors.md) 这俩货。如果你的组件不需要这两项功能,你可以考虑继承 [[yii\base\Object]]
+而不是 [[yii\base\Component]]。这样一来,你的组件就可以像普通 PHP 对象一样高效了。同时,它还依旧支持[属性(Property)](concept-properties.md)功能!
+
+当你继承 [[yii\base\Component]] 或 [[yii\base\Object]] 时,我们推荐你使用如下的编码风格:
+
+- 若你需要重写构造器(Constructor),指定一个 `$config` 参数,作为构造器的 *最后一个* 参数,然后把它传递给父类的构造器。(译者注:`parent::__construct($config = [])`,用于把属性配置信息传递回父类。可选参数放最后是 PSR 的规范之一)
+- 永远在你重写的构造器 *结尾处* 调用一下父类的构造器。
+- 如果你重写了 [[yii\base\Object::init()]] 方法,请确保你在 `init` 方法的 *开头处* 调用了父类的 `init` 方法。
+
+例子如下:
+
+```php
+namespace yii\components\MyClass;
+
+use yii\base\Object;
+
+class MyClass extends Object
+{
+ public $prop1;
+ public $prop2;
+
+ public function __construct($param1, $param2, $config = [])
+ {
+ // ... 配置生效前的初始化过程
+
+ parent::__construct($config);
+ }
+
+ public function init()
+ {
+ parent::init();
+
+ // ... 配置生效后的初始化过程
+ }
+}
+```
+
+另外,为了让你的组件可以在创建实例时[能被正确配置](concept-configurations.md),请遵照以下操作流程。举例:
+
+```php
+$component = new MyClass(1, 2, ['prop1' => 3, 'prop2' => 4]);
+// 方法二:
+$component = \Yii::createObject([
+ 'class' => MyClass::className(),
+ 'prop1' => 3,
+ 'prop2' => 4,
+], [1, 2]);
+```
+
+> 补充:虽然调用 [[Yii::createObject()]] 的方法看起来更加复杂,但是这主要是因为它更加灵活强大,这货是基于高大上的[依赖注入容器](concept-di-container.md)的一种实现。
+
+
+每个 [[yii\base\Object]] 类的生命周期是这样度过的:
+
+1. 构造器内的预初始化过程。你可以在这儿给各属性设置缺省值。
+2. 通过 `$config` 配置对象。配置的过程可能会覆盖掉先前在构造器内设置的默认值。
+3. 在 [[yii\base\Object::init()|init()]] 方法内进行初始化的收尾工作。你可以通过重写此方法,进行一些良品检验呀,属性的标准化呀,之类的事情。
+4. 对象方法调用。
+
+前三步都是在对象的构造器内发生的。这意味着一旦你获得了一个对象实例,那么它已经初始化为了一个妥妥的状态,放心大胆的用吧。
diff --git a/docs/guide-zh-CN/images/advanced-app-configs.graphml b/docs/guide-zh-CN/images/advanced-app-configs.graphml
new file mode 100644
index 0000000000..30f938512d
--- /dev/null
+++ b/docs/guide-zh-CN/images/advanced-app-configs.graphml
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ console
+
+
+
+
+
+
+
+
+
+ Folder 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ backend
+
+
+
+
+
+
+
+
+
+ Folder 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frontend
+
+
+
+
+
+
+
+
+
+ Folder 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params-local
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ main
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ main-local
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ aliases
+(别名)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ common
+
+
+
+
+
+
+
+
+
+ Folder 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params-local
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ main-local
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params
+(参数)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ main
+(主要)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/guide-zh-CN/images/advanced-app-configs.png b/docs/guide-zh-CN/images/advanced-app-configs.png
new file mode 100644
index 0000000000..ead37b8c76
Binary files /dev/null and b/docs/guide-zh-CN/images/advanced-app-configs.png differ
diff --git a/docs/guide-zh-CN/images/application-lifecycle.graphml b/docs/guide-zh-CN/images/application-lifecycle.graphml
new file mode 100644
index 0000000000..2f88673206
--- /dev/null
+++ b/docs/guide-zh-CN/images/application-lifecycle.graphml
@@ -0,0 +1,838 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 用户
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 模型
+model
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 数据库
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 视图
+view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 控制器(Controller)
+
+
+
+
+
+
+
+
+
+ Folder 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 创建动作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 实施过滤
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 动作(Action)
+
+
+
+
+
+
+
+
+
+ Folder 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 加载模型
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 渲染视图
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 响应
+Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请求
+Request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 应用主体
+
+
+
+
+
+
+
+
+
+ Folder 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 解析路由(Route)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 创建控制器
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 入口脚本
+
+
+
+
+
+
+
+
+
+ Folder 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 加载应用配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 运行应用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="66px" viewBox="0 0 57 66" enable-background="new 0 0 57 66" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3799" y1="-2276.8809" x2="27.6209" y2="-2306.6792" gradientTransform="matrix(1 0 0 -1 0.2803 -2252.9199)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path id="body_13_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146
+ c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+ <path fill="#2068A3" stroke="#2068A3" d="M28.106,33.487c-8.112,0-12.688,4.312-12.688,10.437c0,7.422,12.688,10.438,12.688,10.438
+ s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.487,28.106,33.487z M26.288,53.051c0,0-7.135-2.093-8.805-7.201
+ c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387
+ C40.445,49.917,26.288,53.051,26.288,53.051z"/>
+
+ <radialGradient id="SVGID_2_" cx="14.2417" cy="9.1006" r="53.247" gradientTransform="matrix(1 0 0 -1 0.04 65.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#74AEEE"/>
+ <stop offset="1" style="stop-color:#2068A3"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" stroke="#2068A3" stroke-miterlimit="10" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67
+ c-2.854,5.51-14.022,7.807-14.022,7.807s-10.472-2.484-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25
+ c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492
+ C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path fill="#5491CF" stroke="#2068A3" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397c-0.514,1.027-1.669,4.084-1.669,5.148
+ c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.335-2.36c-3.601-1.419-4.071-3.063-5.89-4.854
+ C12.523,47.135,12.878,45,13.404,44.173z"/>
+ <path fill="#5491CF" stroke="#2068A3" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617c0.516,1.025,3.617,3.693,3.617,6.617
+ c0,5.186-10.27,8.576-16.698,9.145c1.429,4.938,11.372,1.293,13.804-0.313c3.563-2.354,4.563-5.133,7.854-3.705
+ C47.754,49.045,48.006,46.574,45.777,43.924z"/>
+ <path fill="none" stroke="#2068A3" stroke-linecap="round" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813
+ c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/>
+ <path fill="none" stroke="#2068A3" stroke-linecap="round" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3
+ c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.623" cy="-2278.646" r="23.425" fx="23.0534" fy="-2281.1357" gradientTransform="matrix(1 0 0 -1 0.2803 -2252.9199)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="5761.7578" y1="11330.6484" x2="5785.3872" y2="11424.0977" gradientTransform="matrix(0.275 0 0 0.2733 -1558.9874 -3088.4209)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M27.958,6.333c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.083,13.952,36.271,6.268,27.958,6.333z"/>
+ <path id="Hair_Young_Brown_1_" fill="#CC9869" stroke="#99724F" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25
+ c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807
+ s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678
+ L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/>
+ <path fill="#4B4B4B" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M28.105,2
+ C22.464,2,20.2,4.246,18.13,5.533C29.753,2.865,41.152,10.375,44.46,20.5C44.459,16.875,44.459,2,28.105,2z"/>
+ <path fill="#9B9B9B" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M11.151,17.751
+ C12.878,8.25,18.686,6.309,25.273,7.127C31.295,7.875,36.93,10.491,44.459,20.5C37.777,7.125,20.278-3.375,9.903,3.921
+ C5.569,6.97,4.903,13.375,11.151,17.751z"/>
+</g>
+</svg>
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ x="0px" y="0px" width="41px" height="48px" viewBox="-0.875 -0.887 41 48" enable-background="new -0.875 -0.887 41 48"
+ xml:space="preserve">
+<defs>
+</defs>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-979.1445" x2="682.0508" y2="-979.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#3C89C9"/>
+ <stop offset="0.1482" style="stop-color:#60A6DD"/>
+ <stop offset="0.3113" style="stop-color:#81C1F0"/>
+ <stop offset="0.4476" style="stop-color:#95D1FB"/>
+ <stop offset="0.5394" style="stop-color:#9CD7FF"/>
+ <stop offset="0.636" style="stop-color:#98D4FD"/>
+ <stop offset="0.7293" style="stop-color:#8DCAF6"/>
+ <stop offset="0.8214" style="stop-color:#79BBEB"/>
+ <stop offset="0.912" style="stop-color:#5EA5DC"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M19.625,36.763C8.787,36.763,0,34.888,0,32.575v10c0,2.313,8.787,4.188,19.625,4.188
+ c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,34.888,30.464,36.763,19.625,36.763z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-973.1445" x2="682.0508" y2="-973.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#9CD7FF"/>
+ <stop offset="0.0039" style="stop-color:#9DD7FF"/>
+ <stop offset="0.2273" style="stop-color:#BDE5FF"/>
+ <stop offset="0.4138" style="stop-color:#D1EEFF"/>
+ <stop offset="0.5394" style="stop-color:#D9F1FF"/>
+ <stop offset="0.6155" style="stop-color:#D5EFFE"/>
+ <stop offset="0.6891" style="stop-color:#C9E7FA"/>
+ <stop offset="0.7617" style="stop-color:#B6DAF3"/>
+ <stop offset="0.8337" style="stop-color:#9AC8EA"/>
+ <stop offset="0.9052" style="stop-color:#77B0DD"/>
+ <stop offset="0.9754" style="stop-color:#4D94CF"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M19.625,36.763c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927
+ c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,34.888,8.787,36.763,19.625,36.763z"/>
+<path fill="#3C89C9" d="M19.625,26.468c10.16,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.554,5.438
+ c-12.125,0-18.467-2.484-19.541-4.918C-0.127,29.125,9.465,26.468,19.625,26.468z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-965.6948" x2="682.0508" y2="-965.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#3C89C9"/>
+ <stop offset="0.1482" style="stop-color:#60A6DD"/>
+ <stop offset="0.3113" style="stop-color:#81C1F0"/>
+ <stop offset="0.4476" style="stop-color:#95D1FB"/>
+ <stop offset="0.5394" style="stop-color:#9CD7FF"/>
+ <stop offset="0.636" style="stop-color:#98D4FD"/>
+ <stop offset="0.7293" style="stop-color:#8DCAF6"/>
+ <stop offset="0.8214" style="stop-color:#79BBEB"/>
+ <stop offset="0.912" style="stop-color:#5EA5DC"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" d="M19.625,23.313C8.787,23.313,0,21.438,0,19.125v10c0,2.313,8.787,4.188,19.625,4.188
+ c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.438,30.464,23.313,19.625,23.313z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-959.6948" x2="682.0508" y2="-959.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#9CD7FF"/>
+ <stop offset="0.0039" style="stop-color:#9DD7FF"/>
+ <stop offset="0.2273" style="stop-color:#BDE5FF"/>
+ <stop offset="0.4138" style="stop-color:#D1EEFF"/>
+ <stop offset="0.5394" style="stop-color:#D9F1FF"/>
+ <stop offset="0.6155" style="stop-color:#D5EFFE"/>
+ <stop offset="0.6891" style="stop-color:#C9E7FA"/>
+ <stop offset="0.7617" style="stop-color:#B6DAF3"/>
+ <stop offset="0.8337" style="stop-color:#9AC8EA"/>
+ <stop offset="0.9052" style="stop-color:#77B0DD"/>
+ <stop offset="0.9754" style="stop-color:#4D94CF"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" d="M19.625,23.313c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
+ c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.438,8.787,23.313,19.625,23.313z"/>
+<path fill="#3C89C9" d="M19.476,13.019c10.161,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.555,5.438
+ c-12.125,0-18.467-2.485-19.541-4.918C-0.277,15.674,9.316,13.019,19.476,13.019z"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-952.4946" x2="682.0508" y2="-952.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#3C89C9"/>
+ <stop offset="0.1482" style="stop-color:#60A6DD"/>
+ <stop offset="0.3113" style="stop-color:#81C1F0"/>
+ <stop offset="0.4476" style="stop-color:#95D1FB"/>
+ <stop offset="0.5394" style="stop-color:#9CD7FF"/>
+ <stop offset="0.636" style="stop-color:#98D4FD"/>
+ <stop offset="0.7293" style="stop-color:#8DCAF6"/>
+ <stop offset="0.8214" style="stop-color:#79BBEB"/>
+ <stop offset="0.912" style="stop-color:#5EA5DC"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188
+ c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-946.4946" x2="682.0508" y2="-946.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#9CD7FF"/>
+ <stop offset="0.0039" style="stop-color:#9DD7FF"/>
+ <stop offset="0.2273" style="stop-color:#BDE5FF"/>
+ <stop offset="0.4138" style="stop-color:#D1EEFF"/>
+ <stop offset="0.5394" style="stop-color:#D9F1FF"/>
+ <stop offset="0.6155" style="stop-color:#D5EFFE"/>
+ <stop offset="0.6891" style="stop-color:#C9E7FA"/>
+ <stop offset="0.7617" style="stop-color:#B6DAF3"/>
+ <stop offset="0.8337" style="stop-color:#9AC8EA"/>
+ <stop offset="0.9052" style="stop-color:#77B0DD"/>
+ <stop offset="0.9754" style="stop-color:#4D94CF"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<path fill="url(#SVGID_6_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
+ c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="644.0293" y1="-943.4014" x2="680.8223" y2="-943.4014" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
+ <stop offset="0" style="stop-color:#9CD7FF"/>
+ <stop offset="1" style="stop-color:#3C89C9"/>
+</linearGradient>
+<ellipse fill="url(#SVGID_7_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/>
+<path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.04,45.982c0,0-4.354,0.664-7.29,0.781
+ c-3.125,0.125-8.952,0-8.952,0l-2.384-10.292l0.044-2.108l-1.251-1.154L9.789,23.024l-0.082-0.119L9.5,20.529l-1.65-1.254
+ L5.329,8.793c0,0,4.213,0.903,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.645l-0.521,1.416
+ l1.46,1.834L31.04,45.982z"/>
+</svg>
+
+
+
+
diff --git a/docs/guide-zh-CN/images/application-lifecycle.png b/docs/guide-zh-CN/images/application-lifecycle.png
new file mode 100644
index 0000000000..a35ec56c87
Binary files /dev/null and b/docs/guide-zh-CN/images/application-lifecycle.png differ
diff --git a/docs/guide-zh-CN/images/application-structure.graphml b/docs/guide-zh-CN/images/application-structure.graphml
new file mode 100644
index 0000000000..8472b64f3b
--- /dev/null
+++ b/docs/guide-zh-CN/images/application-structure.graphml
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 应用组件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 入口脚本
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 应用主体
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 控制器(C)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 过滤器
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 模块
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 视图(V)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 模型(M)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 小部件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 前端资源包
+(Asset Bundle)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1:1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0..*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/guide-zh-CN/images/application-structure.png b/docs/guide-zh-CN/images/application-structure.png
new file mode 100644
index 0000000000..3432968c0e
Binary files /dev/null and b/docs/guide-zh-CN/images/application-structure.png differ
diff --git a/docs/guide-zh-CN/images/rbac-access-check-1.graphml b/docs/guide-zh-CN/images/rbac-access-check-1.graphml
new file mode 100644
index 0000000000..4a1a842ce4
--- /dev/null
+++ b/docs/guide-zh-CN/images/rbac-access-check-1.graphml
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ admin
+(管理媛)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author
+(作者)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ John, ID=2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jane, ID=1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updatePost
+(编辑帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updateOwnPost
+(编辑自己的帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ createPost
+(创建新帖)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AuthorRule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146
+ c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+
+ <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438
+ c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051
+ c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387
+ C40.445,49.917,26.288,53.051,26.288,53.051z"/>
+
+ <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67
+ c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25
+ c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492
+ C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397
+ c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359
+ c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/>
+
+ <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617
+ c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313
+ c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/>
+
+ <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813
+ c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/>
+
+ <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3
+ c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25
+ c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807
+ s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678
+ L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/>
+</g>
+</svg>
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5
+ C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526
+ c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228
+ s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781
+ c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/>
+
+ <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)">
+ <stop offset="0" style="stop-color:#49AD33"/>
+ <stop offset="1" style="stop-color:#C2DA92"/>
+ </linearGradient>
+ <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146
+ c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+</g>
+</svg>
+
+
+
+
diff --git a/docs/guide-zh-CN/images/rbac-access-check-1.png b/docs/guide-zh-CN/images/rbac-access-check-1.png
new file mode 100644
index 0000000000..43734b5ab8
Binary files /dev/null and b/docs/guide-zh-CN/images/rbac-access-check-1.png differ
diff --git a/docs/guide-zh-CN/images/rbac-access-check-2.graphml b/docs/guide-zh-CN/images/rbac-access-check-2.graphml
new file mode 100644
index 0000000000..3f0c4e7ca3
--- /dev/null
+++ b/docs/guide-zh-CN/images/rbac-access-check-2.graphml
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ admin
+(管理媛)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author
+(作者)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ John, ID=2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jane, ID=1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updatePost
+(编辑帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updateOwnPost
+(编辑自己的帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ createPost
+(创建新帖)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AuthorRule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146
+ c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+
+ <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438
+ c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051
+ c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387
+ C40.445,49.917,26.288,53.051,26.288,53.051z"/>
+
+ <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67
+ c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25
+ c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492
+ C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397
+ c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359
+ c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/>
+
+ <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617
+ c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313
+ c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/>
+
+ <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813
+ c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/>
+
+ <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3
+ c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25
+ c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807
+ s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678
+ L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/>
+</g>
+</svg>
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5
+ C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526
+ c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228
+ s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781
+ c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/>
+
+ <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)">
+ <stop offset="0" style="stop-color:#49AD33"/>
+ <stop offset="1" style="stop-color:#C2DA92"/>
+ </linearGradient>
+ <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146
+ c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+</g>
+</svg>
+
+
+
+
diff --git a/docs/guide-zh-CN/images/rbac-access-check-2.png b/docs/guide-zh-CN/images/rbac-access-check-2.png
new file mode 100644
index 0000000000..0c37dc9175
Binary files /dev/null and b/docs/guide-zh-CN/images/rbac-access-check-2.png differ
diff --git a/docs/guide-zh-CN/images/rbac-access-check-3.graphml b/docs/guide-zh-CN/images/rbac-access-check-3.graphml
new file mode 100644
index 0000000000..98f390f9de
--- /dev/null
+++ b/docs/guide-zh-CN/images/rbac-access-check-3.graphml
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ admin
+(管理媛)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author
+(作者)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ John, ID=2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jane, ID=1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updatePost
+(编辑帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updateOwnPost
+(编辑自己的帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ createPost
+(创建新帖)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AuthorRule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146
+ c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+
+ <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438
+ c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051
+ c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387
+ C40.445,49.917,26.288,53.051,26.288,53.051z"/>
+
+ <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67
+ c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25
+ c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492
+ C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397
+ c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359
+ c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/>
+
+ <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617
+ c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313
+ c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/>
+
+ <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813
+ c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/>
+
+ <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3
+ c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25
+ c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807
+ s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678
+ L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/>
+</g>
+</svg>
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5
+ C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526
+ c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228
+ s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781
+ c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/>
+
+ <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)">
+ <stop offset="0" style="stop-color:#49AD33"/>
+ <stop offset="1" style="stop-color:#C2DA92"/>
+ </linearGradient>
+ <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146
+ c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+</g>
+</svg>
+
+
+
+
diff --git a/docs/guide-zh-CN/images/rbac-access-check-3.png b/docs/guide-zh-CN/images/rbac-access-check-3.png
new file mode 100644
index 0000000000..8410bce2b5
Binary files /dev/null and b/docs/guide-zh-CN/images/rbac-access-check-3.png differ
diff --git a/docs/guide-zh-CN/images/rbac-hierarchy-1.graphml b/docs/guide-zh-CN/images/rbac-hierarchy-1.graphml
new file mode 100644
index 0000000000..945240a548
--- /dev/null
+++ b/docs/guide-zh-CN/images/rbac-hierarchy-1.graphml
@@ -0,0 +1,316 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ admin
+(管理媛)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author
+(作者)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ John, ID=2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jane, ID=1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updatePost
+(编辑帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ createPost
+(创建新帖)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146
+ c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+
+ <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438
+ c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051
+ c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387
+ C40.445,49.917,26.288,53.051,26.288,53.051z"/>
+
+ <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67
+ c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25
+ c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492
+ C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397
+ c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359
+ c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/>
+
+ <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617
+ c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313
+ c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/>
+
+ <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813
+ c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/>
+
+ <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3
+ c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25
+ c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807
+ s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678
+ L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/>
+</g>
+</svg>
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5
+ C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526
+ c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228
+ s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781
+ c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/>
+
+ <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)">
+ <stop offset="0" style="stop-color:#49AD33"/>
+ <stop offset="1" style="stop-color:#C2DA92"/>
+ </linearGradient>
+ <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146
+ c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+</g>
+</svg>
+
+
+
+
diff --git a/docs/guide-zh-CN/images/rbac-hierarchy-1.png b/docs/guide-zh-CN/images/rbac-hierarchy-1.png
new file mode 100644
index 0000000000..ec5fa2e5ea
Binary files /dev/null and b/docs/guide-zh-CN/images/rbac-hierarchy-1.png differ
diff --git a/docs/guide-zh-CN/images/rbac-hierarchy-2.graphml b/docs/guide-zh-CN/images/rbac-hierarchy-2.graphml
new file mode 100644
index 0000000000..f1d64b01ca
--- /dev/null
+++ b/docs/guide-zh-CN/images/rbac-hierarchy-2.graphml
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ admin
+(管理媛)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author
+(作者)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ John, ID=2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jane, ID=1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updatePost
+(编辑帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updateOwnPost
+(编辑自己的帖子)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ createPost
+(创建新帖)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AuthorRule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+ <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146
+ c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+
+ <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438
+ c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051
+ c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387
+ C40.445,49.917,26.288,53.051,26.288,53.051z"/>
+
+ <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67
+ c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25
+ c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492
+ C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397
+ c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359
+ c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/>
+
+ <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617
+ c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313
+ c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/>
+
+ <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813
+ c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/>
+
+ <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FCB57A"/>
+ <stop offset="1" style="stop-color:#FF8C36"/>
+ </radialGradient>
+ <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3
+ c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25
+ c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807
+ s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678
+ L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/>
+</g>
+</svg>
+
+ <?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve">
+<g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)">
+ <stop offset="0.2711" style="stop-color:#FFAB4F"/>
+ <stop offset="1" style="stop-color:#FFD28F"/>
+ </linearGradient>
+ <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/>
+
+ <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#FFD28F"/>
+ <stop offset="1" style="stop-color:#FFAB4F"/>
+ </radialGradient>
+ <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
+ c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/>
+
+ <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)">
+ <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/>
+ <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/>
+ </linearGradient>
+ <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/>
+ <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5
+ C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526
+ c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228
+ s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781
+ c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/>
+
+ <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)">
+ <stop offset="0" style="stop-color:#49AD33"/>
+ <stop offset="1" style="stop-color:#C2DA92"/>
+ </linearGradient>
+ <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146
+ c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/>
+</g>
+</svg>
+
+
+
+
diff --git a/docs/guide-zh-CN/images/rbac-hierarchy-2.png b/docs/guide-zh-CN/images/rbac-hierarchy-2.png
new file mode 100644
index 0000000000..9ba3fac155
Binary files /dev/null and b/docs/guide-zh-CN/images/rbac-hierarchy-2.png differ
diff --git a/docs/guide-zh-CN/start-hello.md b/docs/guide-zh-CN/start-hello.md
new file mode 100644
index 0000000000..9c7813dda7
--- /dev/null
+++ b/docs/guide-zh-CN/start-hello.md
@@ -0,0 +1,100 @@
+说声 Hello
+============
+
+本小节描述如何在你的应用中创建一个新的 “Hello” 页面。为了做到这点,你将会创建一个[操作](structure-controllers.md#creating-actions)和一个[视图](structure-views.md):
+
+* 应用将会分派页面请求给操作
+* 操作将会依次渲染视图呈现 “Hello” 给最终用户
+
+贯穿整个小节,你将会掌握三件事:
+
+1. 如何创建一个[操作](structure-controllers.md)去响应请求,
+2. 如何创建一个[视图](structure-views.md)去构造响应内容,
+3. 以及一个应用如何分派请求给[操作](structure-controllers.md#creating-actions)。
+
+
+创建操作
+------------------
+
+为了说 “Hello”,你需要创建一个 `say` [操作](structure-controllers.md#creating-actions),从请求中接收 `message` 参数并显示给最终用户。如果请求没有提供 `message` 参数,操作将显示默认参数 “Hello”。
+
+> 补充:[操作](structure-controllers.md#creating-actions)是最终用户可以直接访问并执行的对象。操作被组织在[控制器](structure-controllers.md)中。一个操作的执行结果就是最终用户将会收到的响应内容。
+
+操作必须声明在[控制器](structure-controllers.md)中。为了简单起见,你可以直接在 `SiteController` 控制器里声明 `say` 操作。这个控制器是由文件 `controllers/SiteController.php` 定义的。以下是一个操作的声明:
+
+```php
+render('say', ['message' => $message]);
+ }
+}
+```
+
+在上述 `SiteController` 代码中,`say` 操作被定义为 `actionSay` 方法。Yii 使用 `action` 前缀区分普通方法和操作。`action` 前缀后面的名称被映射为操作的 ID。
+
+涉及到给操作命名时,你应该理解 Yii 如何处理操作 ID。操作 ID 总是被以小写处理,如果一个操作 ID 由多个单词组成,单词之间将由连字符连接(如 `create-comment`)。操作 ID 映射为方法名时移除了连字符,将每个单词首字母大写,并加上 `action` 前缀。 例子:操作 ID `create-comment` 相当于方法名 `actionCreateComment`。
+
+上述代码中的操作方法接受一个参数 `$message`,它的默认值是 `“Hello”`(就像你设置其它 PHP 函数或方法的默认值一样)。当应用接收到请求并确定由 `say` 操作来响应请求时,应用将从请求的参数中寻找对应值传入进来。换句话说,如果请求包含一个 `message` 参数,它的值是 `“Goodybye”`, 操作方法中的 `$message` 变量也将被填充为 `“Goodbye”`。
+
+在操作方法中,[[yii\web\Controller::render()|render()]] 被用来渲染一个名为 `say` 的[视图](structure-views.md)文件。 `message` 参数也被传入视图,这样就可以在里面使用。操作方法会返回渲染结果。结果会被应用接收并显示给最终用户的浏览器(作为整页 HTML 的一部分)。
+
+
+创建视图
+---------------
+
+[视图](structure-views.md)是你用来生成响应内容的脚本。为了说 “Hello”,你需要创建一个 `say` 视图,以便显示从操作方法中传来的 `message` 参数。
+
+```php
+
+= Html::encode($message) ?>
+```
+
+`say` 视图应该存为 `views/site/say.php` 文件。当一个操作中调用了 [[yii\web\Controller::render()|render()]] 方法时,它将会按 `views/控制器 ID/视图名.php` 路径加载 PHP 文件。
+
+注意以上代码,`message` 参数在输出之前被 [[yii\helpers\Html::encode()|HTML-encoded]] 方法处理过。这非常有必要,当参数来自于最终用户时,参数中的恶意 JavaScript 代码会导致[跨站脚本(XSS)攻击](http://en.wikipedia.org/wiki/Cross-site_scripting)。
+
+当然了,你大概会在 `say` 视图里放入更多内容。内容可以由 HTML 标签,纯文本,甚至 PHP 语句组成。实际上 `say` 视图就是一个由 [[yii\web\Controller::render()|render()]] 执行的 PHP 脚本。视图脚本输出的内容将会作为响应结果返回给应用。应用将依次输出结果给最终用户。
+
+
+尝试下
+-------------
+
+创建完操作和视图后,你就可以通过下面的 URL 访问新页面了:
+
+```
+http://hostname/index.php?r=site/say&message=Hello+World
+```
+
+
+
+这个 URL 将会输出包含 “Hello World” 的页面,页面和应用里的其它页面使用同样的头部和尾部。
+
+如果你省略 URL 中的 `message` 参数,将会看到页面只显示 “Hello”。这是因为 `message` 被作为一个参数传给 `actionSay()` 方法,当省略它时,参数将使用默认的 `“Hello”` 代替。
+
+> 补充:新页面和其它页面使用同样的头部和尾部是因为 [[yii\web\Controller::render()|render()]] 方法会自动把 `say` 视图执行的结果嵌入称为[布局](structure-views.md#layouts)的文件中,本例中是 `views/layouts/main.php`。
+
+上面 URL 中的参数 `r` 需要更多解释。它代表[路由](runtime-routing.md),整个应用级的,指向特定操作的独立 ID。路由格式是 `控制器 ID/操作 ID`。应用接受请求的时候会检查参数,使用控制器 ID 去确定哪个控制器应该被用来处理请求。然后相应控制器将使用操作 ID 去确定哪个操作方法将被用来做具体工作。上述例子中,路由 `site/say` 将被解析至 `SiteController` 控制器和其中的 `say` 操作。因此 `SiteController::actionSay()` 方法将被调用处理请求。
+
+> 补充:与操作一样,一个应用中控制器同样有唯一的 ID。控制器 ID 和操作 ID 使用同样的命名规则。控制器的类名源自于控制器 ID,移除了连字符,每个单词首字母大写,并加上 `Controller` 后缀。例子:控制器 ID `post-comment` 相当于控制器类名 `PostCommentController`。
+
+
+总结
+-------
+
+在本小节你已经接触了 MVC 设计模式中的控制器和视图部分。你创建了一个操作作为控制器的一部分去处理特定请求。然后你又创建了一个视图去构造响应内容。在这个小例子中,没有模型调用,唯一涉及到数据的地方是 `message` 参数。
+
+你同样学习了 Yii 路由的相关内容,它是用户请求与控制器操作之间的桥梁。
+
+在下一节,你将学习如何创建一个模型,以及添加一个包含 HTML 表单的页面。
diff --git a/docs/guide-zh-CN/start-workflow.md b/docs/guide-zh-CN/start-workflow.md
index 822d790cad..acb18aa901 100644
--- a/docs/guide-zh-CN/start-workflow.md
+++ b/docs/guide-zh-CN/start-workflow.md
@@ -1,87 +1,74 @@
-运行应用程序
+运行应用
====================
-Yii 安装后,就有了一个可以运行的 Yii 应用程序,你可以通过 URL `http://hostname/basic/web/index.php` 或
-`http://hostname/index.php` 访问它,具体要取决于你的配置。本章将介绍此应用程序的内置功能,代码的组织方式以及总体上程序是怎样处理请求
-的。
-
-> Info: 为简单起见,这个“入门”教程假设你已经将 `basic/web` 设置为了 Web 服务器的文档根目录。访问此程序的是类似
- `http://hostname/index.php` 的 URL 。请根据你的实际情况,在下文描述中作相应调整。
+安装 Yii 后,你就有了一个运行中的 Yii 应用,根据不同配置,可以通过 `http://hostname/basic/web/index.php` 或 `http://hostname/index.php` 访问。本小节将介绍应用的内建功能,如何组织代码,以及一般情况下应用如何处理请求。
+> 补充:为简单起见,在整个“入门”章节中都假定你已经把 `basic/web` 设为 Web 服务器根目录并配置完毕,你访问应用的地址会是 `http://lostname/index.php` 或类似的。请按需调整 URL。
功能
-------------
-安装的基础应用程序包含四个页面:
+一个安装完的基本应用包含四页:
-* 首页,访问 URL `http://hostname/index.php` 时显示,
-* "About" 页面,
-* "Contact" 页面,显示一个联络表单,允许终端用户通过电子邮件与你联系。
-* 还有 "Login" 页面,显示一个登录表单,用于验证终端用户。请尝试使用“admin/admin”登录,你将发现主菜单上原来的“Login”变成了“Logout”。
+* 主页,当你访问 `http://hostname/index.php` 时显示,
+* “About” 页面,
+* “Contact” 页, 显示一个联系表单,允许终端用户通过 Email 联系你,
+* “Login” 页, 显示一个登录表单,用来验证终端用户。试着使用 “admin/admin” 登录,你可以看到当前是登录状态,已经可以“退出登录”了。
-这些页面共享一个通用的 header 和 footer。Header 含有一个主菜单,可以导航到不同的页面。
+这些页面使用同一个头部和尾部。头部包含了一个可以在不同页面间切换的导航栏。
-你应该还会在浏览器窗口的最下面发现有一个工具条。这是一个 Yii 提供的很有用的[调试工具](tool-debugger.md),它会记录并显示很多调试信息,
-例如日志消息,响应状态,数据库执行的查询等等。
+在浏览器底部可以看到一个工具栏。
+这是个 Yii 提供的很有用的[调试工具](tool-debugger.md),可以记录并显示大量的调试信息,例如日志信息,响应状态,数据库查询等等。
-应用程序结构
+应用结构
---------------------
-在你的应用程序中最重要的目录和文件是(假设程序的根目录是`basic`):
-
+应用中最重要的目录和文件(假设应用根目录是 `basic`):
```
-basic/ 应用程序根目录
- composer.json 用于 Composer,描述包的信息
- config/ 包含应用程序及其他配置信息。
- console.php 控制台应用程序配置
- web.php Web 应用程序配置
+basic/ 应用根目录
+ composer.json Composer 配置文件, 描述包信息
+ config/ 包含应用配置及其它配置
+ console.php 控制台应用配置信息
+ web.php Web 应用配置信息
commands/ 包含控制台命令类
controllers/ 包含控制器类
models/ 包含模型类
- runtime/ 包含 Yii 运行时产生的文件,例如日志和缓存文件等
- vendor/ 包含已安装的 Componser 包,包括 Yii 框架本身。
+ runtime/ 包含 Yii 在运行时生成的文件,例如日志和缓存文件
+ vendor/ 包含已经安装的 Composer 包,包括 Yii 框架自身
views/ 包含视图文件
- web/ 应用程序 Web 根目录,包含可通过 Web 访问的文件
- assets/ 包含 Yii 已发布的资源文件(javascript 和 css)
- index.php 应用程序的入口(或引导)脚本
- yii Yii 控制台命令可执行脚本
+ web/ Web 应用根目录,包含 Web 入口文件
+ assets/ 包含 Yii 发布的资源文件(javascript 和 css)
+ index.php 应用入口文件
+ yii Yii 控制台命令执行脚本
```
-总体上,应用程序中的文件可以分为两类:位于 `basic/web` 中的和那些位于其他目录中的。前者可通过 HTTP (例如,在一个浏览器中)直接访问,
-后者则不能且不应该能。
+一般来说,应用中的文件可被分为两类:在 `basic/web` 下的和在其它目录下的。前者可以直接通过 HTTP 访问(例如浏览器),后者不能也不应该被直接访问。
+Yii 实现了[模型-视图-控制器 (MVC)](http://wikipedia.org/wiki/Model-view-controller)设计模式,这点在上述目录结构中也得以体现。 `models` 目录包含了所有[模型类](structure-models.md),`views` 目录包含了所有[视图脚本](structure-views.md),`controllers` 目录包含了所有[控制器类](structure-controllers.md)。
-Yii 实现了 [模型-视图-控制器 (MVC)](http://wikipedia.org/wiki/Model-view-controller) 设计模式,在上述目录组织中也有体现。
-`models` 目录中包含了所有的[模型类](structure-models.md),`views` 目录包含了所有的[视图脚本](structure-views.md),
-`controllers` 目录包含了所有[控制器类](structure-controllers.md)。
+以下图表展示了一个应用的静态结构:
-下图展示了一个应用程序的静态结构。
+
-
-
-每个应用程序都有一个入口脚本 `web/index.php`,它是应用程序中仅有的可通过 Web 访问的 PHP 脚本。这个入口脚本接收一个传入请求并创建一个
-[应用程序](structure-applications.md) 实例处理该请求。[应用程序](structure-applications.md)在其[组件](concept-components.md)
-的帮助下解析请求并将请求分派到 MVC 元素上。[视图](structure-views.md)中使用[挂件](structure-widgets.md)协助构建复杂动态的用户接口
-元素。
+每个应用都有一个入口脚本 `web/index.php`,这应该是整个应用中唯一可以访问的 PHP 脚本。入口脚本接受一个 Web 请求并创建[应用](structure-application.md)实例去处理它。 [应用](structure-applications.md)在它的[组建](concept-components.md)的辅助下解析请求,并分派请求至 MVC 元素。[视图](structure-views.md)使用[小部件](structure-widgets.md)去创建复杂和动态的用户界面。
-请求的生命周期
+请求生命周期
-----------------
-下图展示了一个应用是如何处理请求的。
+以下图表展示了一个应用如何处理请求:
-
+
-1. 一个用户提交了对[入口脚本(entry script)](structure-entry-scripts.md) `web/index.php` 的请求。
-2. 入口脚本加载应用程序[配置信息(configuration)](concept-configurations.md)并创建一个[应用程序](structure-applications.md)实
-例处理该请求。
-3. 应用程序在[请求(request)]应用程序组件的协助下解析所请求的[路由(route)](runtime-routing.md)。
-4. 应用程序创建一个[控制器(controller)](structure-controllers.md)实例处理该请求。
-5. 控制器创建了一个[动作(action)](structure-controllers.md)实例,执行动作中的过滤器(filter)。
-6. 如果有任何一个过滤器处理失败,则动作取消。
-7. 如果所有的过滤器都执行通过,则动作执行。
-8. 动作载入一个数据模型,可能是从一个数据库中加载。
-9. 动作渲染一个视图(view),给它提供数据模型。
-10. 渲染结果返回给[响应(response)](runtime-responses.md)应用程序组件。
-11. 响应组件发送渲染结果到用户的浏览器。
+1. 用户向 [入口脚本](structure-entry-scripts.md) `web/index.php` 发起请求。
+2. 入口脚本加载应用 [配置](concept-configurations.md)并创建一个[应用](structure-applications.md)实例去处理请求。
+3. 应用通过[请求](runtime-request.md)组件解析请求的[路由](runtime-routing.md)。
+4. 应用创建一个[控制器](structure-controllers.md)实例去处理请求。
+5. 控制器创建一个[操作](structure-controllers.md)实例并针对操作执行过滤器。
+6. 如果任何一个过滤器返回失败,则操作退出。
+7. 如果所有过滤器都通过,操作将被执行。
+8. 操作会加载一个数据模型,或许是来自数据库。
+9. 操作会渲染一个视图,把数据模型提供给它。
+10. 渲染结果返回给[响应](runtime-responses.md)组件。
+11. 响应组件发送渲染结果给用户浏览器。