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的代码如下:
<?php $backend = dirname(dirname(__FILE__)); $frontend = dirname($backend); Yii::setPathOfAlias('backend',$backend); $frontendArray = require_once($frontend.'/config/main.php'); $backendArray=array( 'name'=>'网站后台管理系统', 'basePath'=>$frontend, 'viewPath'=>$backend.'/views', 'controllerPath'=>$backend.'/controllers', 'runtimePath'=>$backend.'/runtime', 'import'=>array( 'application.models.*', 'application.components.*', 'backend.models.*', 'backend.components.*', ), //'params'=>CMap::mergeArray(require($frontend.'/config/params.php'),require($backend.'/config/params.php')), ); if(isset($frontendArray['components']['user']))unset($frontendArray['components']['user']) return CMap::mergeArray($frontendArray,$backendArray);
这里我们的model是公用的 ,controller和view,runtime是分开的,我们还可以通过命令行对后台进行model和crud,方法如下:
>yiic shell path/to/site/admin.php >model Article >crud Article
这样后台对应的controller和view就生成了!
如果只对后台的变量进行配置的话,只需要修改protected/admin下的配置文件就可以了!
后台配置文件与前台配置文件进行数组合并,没有的项自动包含,相同项则将其覆盖 ,例如后台中可使用 'name'=>'网站后台管理系统'仍为自己,是将前台覆盖的结果。
前后台分离:前台入口index.php,后台是admin.php。后台可以重用前台,module那个更像是子项目,这个前后台两个像并行的.访问www.test.com/admin.php检测后台配置文件是否正确
Yii中处理前后台登录
如果有前台会员登陆和后台管理员登陆分离的需求,则需要为前台和后台的登陆定制两套不同的验证机制,主要是通过定义不同的Session来实现。要解决这个问题就要将前后台使用不同的Cwebuser实例登录。这样就已经做到了前后台登录分离开了,但是此时你退出的话你就会发现前后台一起退出了。于是我找到了logout()这个方法,发现他有一个参数$destroySession=true,原来如此,如果你只是logout()的话那就会将session全部注销,加一个false参数的话就只会注销当前登录实例的session了
Yii::app()->user->logout(false);
main.php
前台user(Cwebuser)的配置: UserIdentity
'user'=>array( 'class'=>'WebUser',//这个WebUser是继承CwebUser,稍后给出它的代码 'stateKeyPrefix'=>'member',//这个是设置前台session的前缀 'allowAutoLogin'=>true,//这里设置允许cookie保存登录信息,一边下次自动登录 ),
后台user(Cwebuser)的配置: AdminIdentity
'admin' => array( 'class' => 'AdminWebUser', //后台登录类实例 'stateKeyPrefix' => 'admin', //后台session前缀 "guestName" => "游客" ),Yii::app()->user//前台访问用户信息方法
Yii::app()->admin//后台访问用户信息方法
Yii::app()->admin->login($this->_identity,$duration);
相关推荐
带权限管理的yii2.0后台框架,适合任何情况,最新的值得使用
yii简易后台基础模板
主要介绍了Yii2前后台分离及migrate使用的相关资料,需要的朋友可以参考下
yii2后台,可用于网站后台界面的建设,简介,明了的界面!!!
yii 2.0通用后台系统管理,实现注册登录上传用户自定义头像
yii ajax demo yii ajax demo
主要介绍了Yii中实现处理前后台登录的新方法,具体分析了Yii中前后台登录的新思路与相关实现技巧,需要的朋友可以参考下
yii-demo 我对 Yii 框架的扩展的演示。
Yii 2 基础应用模板Yii 2 Basic Application Template 是一个骨架 Yii 2 应用程序,最适合快速创建小项目。 该模板包含基本功能,包括用户登录/注销和联系页面。 它包括所有常用配置,使您可以专注于向应用程序添加...
支付宝支付sdk及demo,一键安装搭建,方便部署;丰富的插件和各种自定义菜单配置,特别适用于快速开发的中小型企业
关于YII2代码配置那一部分,给出的是官方的链接,如果想要这部分,请不用下载,直接去官方阅读,以免浪费资源分哦
前后台用户分为两个表,实现了前后台分离 后台基础的setting配置(支持文本、下拉菜单、日期选择、文件等类型)和menu配置,弹窗小部件等 RBAC简单的权限控制,用户选择角色,角色再包含权限,角色、权限不能自我嵌套...
Amp-yii2-queue.zip,YII 2.0非阻塞队列扩展。,amp是php的一个非阻塞并发框架。它提供事件循环、承诺和流,作为异步编程的基础。
很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架
Yii2.0级基于Yii1.X完全重写的,不仅是小版本升级的升级。所以想要系统学习Yii2.0这个框架这套教程可以从实战项目带你入手。不错的学习YII框架的基础课程,电商系统的结构完整、框架资源太大,传百度网盘了,链接在...
Yii 2高级项目模板 Yii 2 Advanced Project Template是最简单的应用程序,最适合开发具有多层的复杂Web应用程序。 该模板包括三层:前端,后端和控制台,每层都是一个单独的Yii应用程序。 该模板旨在在团队开发...
基于YII2框架的CMS, 预览地址http://demo.cms.feehi.com