yii2進行前後台分離,backend和frontend已經配置好正常用了,但是第三方模組或者自己弄得模組,都是基於frontend來做的,而且他的模組裡沒有響應的設定來區分前台和後台,這時候如果把模組註冊到frontend中,內部相應的管理相關的控制器實際上在frontend也能訪問到。如何進行優雅的分離,我的意思是不是用RBAC來控制,是前台壓根就訪問不到。
回複內容:
yii2進行前後台分離,backend和frontend已經配置好正常用了,但是第三方模組或者自己弄得模組,都是基於frontend來做的,而且他的模組裡沒有響應的設定來區分前台和後台,這時候如果把模組註冊到frontend中,內部相應的管理相關的控制器實際上在frontend也能訪問到。如何進行優雅的分離,我的意思是不是用RBAC來控制,是前台壓根就訪問不到。
可以在frontend和backend的同級目錄下,建立一個module目錄,存放公用模組,然後在需要的地方引導啟動模組。例如要在frontend中使用myModule模組,在config中添加如下:
[ 'bootstrap' => [ 'myModule', ], 'modules' => [ 'myModule' => 'app\module\myModule', ],]
然後在frontend項目中,就可以用$module = myModule::getInstance();
訪問了。
參考http://www.yiichina.com/doc/guide/2.0/st...
yii2預設的進階模板中就已經區分了前台、後台、公用目錄了
frontend
backend
common
frontend,backend同時可以依賴common
但frontend、backend之間不做依賴,有依賴的項都放common
你建立的module也要按職能區分開的
前台的module放frontend
後台用的module放backend
公用的再抽出來放common