yii2搭建完美后臺並實現rbac權限控制實例教程

做者:白狼 出處:http://www.manks.top/yii2_fra... 本文版權歸做者,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。php

一、安裝yii2

未安裝的請參考yii2史上最簡單式安裝教程,沒有之一
已安裝的請繼續看下一步操做html

二、配置數據庫
2.1 配置數據庫

修改common/config/main-local.php 實際項目中本地的數據庫每每跟線上數據庫不一致,
咱們這裏配置到main-local.php就能夠了,產品上線後,咱們可使用git或者svn忽略掉main-local.php,線上直接部署。
咱們這裏使用的mysql數據庫,配置以下
(截圖)
固然啦,上面紅圈圈的信息須要你本身手動修改掉,要是十分巧合跟個人同樣那就不用在修改了mysql

2.2 建立user數據表,咱們後面要實現後臺登錄

說明:user表和menu表的建立能夠參考咱們後面下載的組件yii2-admin裏面的sql,具體目錄位於
vendormdmsoftyii2-adminmigrationsschema-mysql.sqlgit

CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',  
`username` varchar(255) NOT NULL COMMENT '用戶名',  
`auth_key` varchar(32) NOT NULL COMMENT '自動登陸key',  
`password_hash` varchar(255) NOT NULL COMMENT '加密密碼',  
`password_reset_token` varchar(255) DEFAULT NULL COMMENT '重置密碼token',  
`email` varchar(255) NOT NULL COMMENT '郵箱',  
`role` smallint(6) NOT NULL DEFAULT '10' COMMENT '角色等級',  
`status` smallint(6) NOT NULL DEFAULT '10' COMMENT '狀態',  
`created_at` int(11) NOT NULL COMMENT '建立時間',  
`updated_at` int(11) NOT NULL COMMENT '更新時間',  
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='用戶表';
2.3 訪問frontend站點,先註冊個用戶

(截圖)
註冊成功後,右上角會顯示登錄的狀態,咱們後面會用到這個註冊的用戶
(截圖)
接下來咱們要開始配置後臺的模板了。github

三、利用AdminLTE渲染後臺模板

後臺的模板咱們採用利用 AdminLTE(Backend theme for Yii2 Framework)
插播一曲:AdminLTE是一個徹底響應管理模板。基於Bootstrap3框架,易定製模板。適合多種屏幕分辨率,從小型移動設備到大型臺式機。
內置了多個頁面,包括儀表盤、郵箱、日曆、鎖屏、登陸及註冊、404錯誤、500錯誤等頁面。sql

3.1 安裝AdminLTE

https://github.com/dmstr/yii2...
打開上面的連接,按照操做步驟進行安裝
這裏我簡述下本身的安裝步驟,cd advanced後,
由於是mac,這裏直接composer進行安裝就好了
composer require dmstr/yii2-adminlte-asset "2.*"
安裝成功後,vendor目錄下會多幾個文件夾,以下數據庫

3.2 yii2配置整合AdminLTE,搭建帥氣上檔次的後臺

下面咱們配置下backend/config/main.php先預覽下效果,當心髒捉急的恨不得趕忙嚐嚐戰果yii2

'components' => [  
    'view' => [
        'theme' => [
            'pathMap' => [                
                '@app/views' => '@vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app'             
             ],
        ],
    ],
],

nice,頁面瞬間好看多了。
問題來了,咱們是在components裏面單獨配置的theme,這樣之後要修改佈局文件什麼的是很不方便滴,下面咱們把不局文件拷貝下來覆蓋掉yii自帶的layout.
把vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app目錄下的layouts和site拷貝
覆蓋掉backend/views/目錄下的lauouts和site對應的文件
覆蓋後記得屏蔽掉 components下面view的配置項
到此,後臺模板的搭建告一段落,si不si很happyapp

四、下面咱們用yii的rbac實現後臺的權限控制

[考慮目前國內網站大部分採集文章十分頻繁,更有甚者不註明原文出處,原做者更但願看客們查看原文,以防有任何問題不能更新全部文章,避免誤導!]composer

繼續閱讀

相關文章
相關標籤/搜索