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

做者:白狼 php

出處:http://www.manks.top/article/yii2_frame_rbac_template html

本文版權歸做者,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。mysql

 

一、安裝yii2

若是你是windows平臺,請看小馬哥的安裝教程git

http://www.yiichina.com/tutorial/324github

如下安裝不分平臺web

1.1 這裏就不許備用composer進行安裝了,咱們去官網下載一份高級模板到本地

咱們這裏放到/var/www目錄下,文件名就是下載解壓下來的文件名advanced,不作改動sql

接下來咱們cd advanced開始設置應用配置數據庫

1.2 執行php init 一步一步選擇操做就好了

1.3 咱們本地配置一下web可訪問形式檢驗一下安裝狀況

我這邊本地localhost指向/var/wwwwindows

所以採用 http://localhost/advanced/frontend/web/ 進行訪問前臺,這裏是yii2默認的模板yii2

 

上面羅哩羅嗦一大堆沒啥好玩的,接下來咱們開始朝着本篇文章的目標進行展開,重點來了。

二、配置數據庫

2.1 配置數據庫

修改common/config/main-local.php 實際項目中本地的數據庫每每跟線上數據庫不一致,咱們這裏配置到main-local.php就能夠了,產品上線後,咱們可使用git獲取svn忽略掉main-local.php,線上直接部署。

咱們這裏使用的mysql數據庫,配置以下

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

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

vendor\mdmsoft\yii2-admin\migrations\schema-mysql.sql

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站點,先註冊個用戶

註冊成功後,右上角會顯示登錄的狀態,咱們後面會用到這個註冊的用戶

接下來咱們要開始配置後臺的模板了。

三、利用AdminLTE渲染後臺模板

後臺的模板咱們採用利用 AdminLTE(Backend theme for Yii2 Framework)

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

3.1 安裝AdminLTE 

https://github.com/dmstr/yii2-adminlte-asset

打開上面的連接,按照操做步驟進行安裝

這裏我簡述下本身的安裝步驟,cd advanced後,

由於是mac,這裏直接composer進行安裝就好了
composer require dmstr/yii2-adminlte-asset "2.*"

安裝成功後,vendor目錄下會多幾個文件夾,以下

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

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

'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很happy

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

繼續閱讀
相關文章
相關標籤/搜索