日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

[Yii Framework] Yii如何实现前后台的session分离

發布時間:2025/7/25 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Yii Framework] Yii如何实现前后台的session分离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Yii Framework實現前后臺frontend,backend分離的方法有幾種,總結如下:

1. 分開入口文件

目錄結構

index.php admin.php assets/ ...其它目錄 protected/config/main.phpcomponents/controllers/...其它目錄 admin/config/main.phpcomponents/controllers/...其它目錄

網站正常的入口文件是index.php,我們加多一個admin.php用來處理后臺事務

// index.php: require('path/to/yii.php'); Yii::app()->createWebApplication('protected/config/main.php')->run(); // admin.php: require('path/to/yii.php'); Yii::app()->createWebApplication('protected/admin/config/main.php')->run();

protected/admin/config/main.php的代碼如下

$backend = dirname(dirname(__FILE__)); $frontend = dirname($backend); Yii::setPathOfAlias('backend', $backend); $frontendArray = require($frontend.'/config/main.php'); $backendArray = array('name'=>'網站后臺管理系統','basePath' => $frontend,'controllerPath' => $backend.'/controllers','viewPath' => $backend.'/views','runtimePath' => $backend.'/runtime',// autoloading model and component classes'import'=>array('application.models.*','application.components.*','application.extensions.*','application.extensions.nestedset.*','backend.models.*','backend.components.*', ),'components'=>array('user'=>array(// enable cookie-based authentication'allowAutoLogin'=>true,),),// main is the default layout//'layout'=>'main',// alternate layoutPath'layoutPath'=>dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'layouts'.DIRECTORY_SEPARATOR, );return CMap::mergeArray($frontendArray, $backendArray);

2. 后臺admin作為一個module存在

目錄結構如下

protected/commands/components/...其它目錄modules/admin/assets/components/controllers/...其它目錄

可以通過設置user這個組件來實現前后臺的session id分開

protected/modules/admin/AdminModule.php

public function init() {//...其它代碼Yii::app()->setComponents(array(//...其它組件設置代碼'user' => array('stateKeyPrefix' => '__admin__',//設置session前綴,以分開不同module),)); }

3. 使用架構分離

其實這個跟第一種方法類似,目錄結構如下

backend/components/ config/environments/main-private.php *main-prod.phpparams-private.php *params-prod.phpmain-env.php *main-local.php *main.phpparams-env.php *params-local.php *params.phptest.php controllers/SiteController.php... extensions/behaviors/validators/lib/models/FormModel.php...modules/runtime/ *views/layouts/site/widgets/www/assets/ *css/images/js/themes/index.php.htaccess common/components/config/environments/params-private.php *params-prod.phpparams-env.php *params-local.php *params.phpdata/extensions/behaviors/validators/lib/Behat/Pear/Yii/Zend/messages/models/widgets/ console/commands/components/config/environments/lib/migrations/models/runtime/ *yiic.php frontend/components/config/environments/main-private.php *main-prod.phpparams-private.php *params-prod.phpmain-env.php *main-local.phpmain.phpparams-env.php *params-local.php *params.phptest.phpcontrollers/extensions/behaviors/validators/lib/models/ modules/ runtime/ *views/layouts/site/www/assets/ *css/files/images/js/less/index.phprobots.txt.htaccess tests/bootstrap/FeatureContext.phpYiiContext.phpfeatures/Startup.featurebehat.ymlINSTALL.md README.md runbehat runpostdeploy yiic yiic.bat

github上面有這樣一個demo架構,推薦那些有自己服務器的人采用這種架構,具體地址:https://github.com/clevertech/YiiBoilerplate

?

Have fun with Yii!

轉載于:https://www.cnblogs.com/davidhhuan/archive/2013/05/04/3060425.html

總結

以上是生活随笔為你收集整理的[Yii Framework] Yii如何实现前后台的session分离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。