`
hudeyong926
  • 浏览: 2017217 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Yii 前后台分离 demo

 
阅读更多

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);

http://hudeyong926.iteye.com/blog/1338494

分享到:
评论

相关推荐

    yii2.0后台源码

    带权限管理的yii2.0后台框架,适合任何情况,最新的值得使用

    yii简易后台基础模板

    yii简易后台基础模板

    Yii2前后台分离及migrate使用(七)

    主要介绍了Yii2前后台分离及migrate使用的相关资料,需要的朋友可以参考下

    YII后台源码

    yii2后台,可用于网站后台界面的建设,简介,明了的界面!!!

    yii2 通用后台系统

    yii 2.0通用后台系统管理,实现注册登录上传用户自定义头像

    yii ajax demo

    yii ajax demo yii ajax demo

    Yii中实现处理前后台登录的新方法

    主要介绍了Yii中实现处理前后台登录的新方法,具体分析了Yii中前后台登录的新思路与相关实现技巧,需要的朋友可以参考下

    yii-demo:Yii 框架扩展的演示

    yii-demo 我对 Yii 框架的扩展的演示。

    yii2fullcalendar-demo:yii2fullcalendar-demo

    Yii 2 基础应用模板Yii 2 Basic Application Template 是一个骨架 Yii 2 应用程序,最适合快速创建小项目。 该模板包含基本功能,包括用户登录/注销和联系页面。 它包括所有常用配置,使您可以专注于向应用程序添加...

    基于yii2的企业通用管理后台

    支付宝支付sdk及demo,一键安装搭建,方便部署;丰富的插件和各种自定义菜单配置,特别适用于快速开发的中小型企业

    YII2数据库MySQL复制和读写分离配置

    关于YII2代码配置那一部分,给出的是官方的链接,如果想要这部分,请不用下载,直接去官方阅读,以免浪费资源分哦

    yii2-admin:Yii2基础的后台管理

    前后台用户分为两个表,实现了前后台分离 后台基础的setting配置(支持文本、下拉菜单、日期选择、文件等类型)和menu配置,弹窗小部件等 RBAC简单的权限控制,用户选择角色,角色再包含权限,角色、权限不能自我嵌套...

    Amp-yii2-queue.zip

    Amp-yii2-queue.zip,YII 2.0非阻塞队列扩展。,amp是php的一个非阻塞并发框架。它提供事件循环、承诺和流,作为异步编程的基础。

    yii框架yii框架yii框架yii框架yii框架

    很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架

    Yii2.0打造京东商城平台PHP电商实战Yii2.0视频教程

    Yii2.0级基于Yii1.X完全重写的,不仅是小版本升级的升级。所以想要系统学习Yii2.0这个框架这套教程可以从实战项目带你入手。不错的学习YII框架的基础课程,电商系统的结构完整、框架资源太大,传百度网盘了,链接在...

    yii2-Adminex-demo:Yii2 Adminex演示

    Yii 2高级项目模板 Yii 2 Advanced Project Template是最简单的应用程序,最适合开发具有多层的复杂Web应用程序。 该模板包括三层:前端,后端和控制台,每层都是一个单独的Yii应用程序。 该模板旨在在团队开发...

    基于YII2框架的CMS

    基于YII2框架的CMS, 预览地址http://demo.cms.feehi.com

Global site tag (gtag.js) - Google Analytics