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

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 通用后台系统

    "yii2 通用后台系统"是一个基于Yii2框架构建的企业级后台管理系统,旨在提供一套全面、高效的后台管理解决方案,包括用户管理、权限控制、数据统计等功能,帮助开发者快速搭建稳定且功能丰富的后台应用。 在Yii2...

    yii2.0后台源码

    这个“yii2.0后台源码”是一个带有权限管理功能的后端框架,它适用于各种项目需求,特别是那些需要强大用户管理和权限控制的复杂系统。让我们深入探讨一下这个框架的核心特性、权限管理以及如何在实际项目中应用。 ...

    yii简易后台基础模板

    这个“yii简易后台基础模板”很可能是为开发者提供一个快速构建管理后台的基础结构,它包含了一系列预配置的组件和功能,使得开发者能够更专注于业务逻辑而不是重复的布局和配置工作。 在Yii框架中,后端开发通常...

    YII后台源码

    标题提到的“YII后台源码”指的是基于 Yii2 框架开发的后端管理系统的核心代码。这个系统可能是用于网站后台管理的界面,提供对网站数据和功能的控制,设计简洁、直观,方便管理员操作。 在描述中提到的“yii2后台...

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

    "yii-demo" 是一个基于 Yii 框架的扩展演示项目,它展示了如何在实际开发中利用 Yii 的特性来增强应用的功能和性能。下面将详细探讨 Yii 框架的关键知识点及其在 "yii-demo" 中的应用。 1. **MVC(Model-View-...

    基于Yii2+layui的后台框架模板,实现了完善的RBAC权限控制-yii2-admin-theme.zip

    本项目"基于Yii2+layui的后台框架模板,实现了完善的RBAC权限控制"结合了这两个强大的工具,为开发高效、安全的后台管理系统提供了一个良好的基础。RBAC(Role-Based Access Control)是一种常见的访问控制机制,...

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

    2. 自己编写读写分离逻辑,例如在YII2应用中,可以自定义组件来实现数据库连接的读写分离,通过配置不同的数据库连接池,区分读操作和写操作的数据库连接。 3. 利用YII2的数据库迁移(migrations)功能,可以单独对...

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

    Yii框架是一个流行的PHP开发框架,广泛应用于Web应用开发中...整体来说,本文提供的方法是对Yii框架中前后台登录处理方式的一种优化和创新,它不仅有助于区分前后台用户的登录状态,还可以增强应用的安全性和可维护性。

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

    总结来说,"基于yii2的企业通用管理后台"是一个集成了支付宝支付、一键安装、插件化和响应式设计等众多优点的高效后台系统。它尤其适合那些需要快速开发和部署的中小型企业,既能满足基本的管理需求,又具有高度的...

    yii2fullcalendar-demo:yii2fullcalendar-demo

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

    Yii 读写分离 分表分库

    总结,通过Yii框架的灵活配置和扩展支持,我们可以实现读写分离和分库分表,有效提升系统的数据库性能。同时,需要注意在设计过程中充分考虑数据的一致性和查询的便利性,以确保系统的稳定性和可维护性。

    基于Yii2+Vue2.0+uniapp六端通用商城小程序后台

    基于Yii2+Vue2.0+uniapp 前沿技术研发,易学易用,前后端分离,多端开发,负载均衡,性能优越架构稳定;商城商品、订单、用户精细化管理;涵盖秒杀、消费奖励、超级海报等20+营销插件;H5+小程序+公众号+PC,全渠道...

    Amp-yii2-queue.zip

    在"Amp-yii2-queue.zip"的压缩包中,包含了一个名为"yii2-queue-master"的目录,这很可能是一个YII 2.0的队列管理组件。队列是Web应用中常用的一种设计模式,用于将耗时的任务放到后台处理,避免阻塞主线程。结合Amp...

    yii ajax demo

    在 Yii 中使用 AJAX(异步 JavaScript 和 XML)可以极大地提升用户体验,因为它允许后台数据的无刷新更新。本教程将深入探讨如何在 Yii 框架中实现 AJAX 功能,以及与之相关的知识点。 首先,`vtalk.ini` 文件可能...

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

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

    YII2框架整合H+后台UI框架

    `YII2`还支持RESTful API开发,便于前后端分离。 `H+`是一款专为后台设计的响应式HTML5 UI框架,它基于Bootstrap,提供了大量的预设组件和页面模板,如导航栏、表格、表单、模态框等,旨在简化后台界面的设计工作,...

    YiiFrame 是一个基于Yii2+Bootstrap的快速后台开发框架

    YiiFrame 是一个基于Yii2框架和Bootstrap前端库的高效后台开发框架,专为简化Web系统的构建而设计。Yii2是一个高性能、组件化的PHP框架,它提供了丰富的特性,如MVC(模型-视图-控制器)架构模式、主动记录(Active ...

Global site tag (gtag.js) - Google Analytics