本文共 2485 字,大约阅读时间需要 8 分钟。
1.首先我把目录结构写下来:
wwwroot/
htdocs //webroot目录,方便资源文件,和程序文件做Linux权限控制
index.php
admin.php assets/ images/ protected/ config/ main.php components/ controllers/ models/ views/ runtime/admin /
config/ main.php components/ controllers/ views/ runtime/1.新建admin的目录结构,注意后台必须保留main.php defaultController中的controller文件和defaultAction对应的view文件 ,如siteController.php view/site/index.php
2.前后台引导文件分别如下,复制index.php改名为admin.php并修改
Yii::app()->createWebApplication('protected/admin/config/main.php')->run();
3.protected/admin/config/main.php的代码如下:
这里我们的model是公用的 ,controller和view,runtime是分开的,我们还可以通过命令行对后台进行model和crud,方法如下:
这样后台对应的controller和view就生成了!
如果只对后台的变量进行配置的话,只需要修改protected/admin下的配置文件就可以了!后台配置文件与前台配置文件进行数组合并,没有的项自动包含,相同项则将其覆盖 ,例如后台中可使用 'name'=>'网站后台管理系统'仍为自己,是将前台覆盖的结果。
前后台分离:前台入口index.php,后台是admin.php。后台可以重用前台,module那个更像是子项目,这个前后台两个像并行的.访问www.test.com/admin.php检测后台配置文件是否正确
如果有前台会员登陆和后台管理员登陆分离的需求,则需要为前台和后台的登陆定制两套不同的验证机制,主要是通过定义不同的Session来实现。要解决这个问题就要将前后台使用不同的Cwebuser实例登录。这样就已经做到了前后台登录分离开了,但是此时你退出的话你就会发现前后台一起退出了。于是我找到了logout()这个方法,发现他有一个参数$destroySession=true,原来如此,如果你只是logout()的话那就会将session全部注销,加一个false参数的话就只会注销当前登录实例的session了
main.php
前台user(Cwebuser)的配置: UserIdentity
后台user(Cwebuser)的配置: AdminIdentity
转载地址:http://bjytx.baihongyu.com/