Jadual Kandungan
yotaku的开发日志(1),yotaku开发日志
Rumah pembangunan bahagian belakang tutorial php yotaku的开发日志(1),yotaku开发日志_PHP教程

yotaku的开发日志(1),yotaku开发日志_PHP教程

Jul 12, 2016 am 09:03 AM
vbs

yotaku的开发日志(1),yotaku开发日志

2015-12-18 21:17:46

连续看了几天的ThinkPHP框架,目前看到基于角色的用户访问权限控制。

 相关代码如下:

数据库

用户表(管理员)

 

mg_id mg_name mg_pwd mg_time mg_role_id
0 creatint 123 2587413547 1
1 yotaku 123 258744984 4
CREAATE TABLE `sw_manager` (
    `mg_id` int(11) NOT NULL AUTO_INCREMENT,
    `mg_name` varchar(32) NOT NULL,
    `mg_pwd` varchar(32) NOT NULL, 
    `mg_time` int(10) unsigned NOT NULL COMMENT '时间',
    `mg_role_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '角色id',
    PRIMARY KEY (`mg_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Salin selepas log masuk

权限表

auth_id(权限ID)auth_name(权限名称)auth_pid(父id)auth_c(控制器)auth_a(操作方法)auth_path(全路径)auth_level(权限级别)
100 产品中心 0 '' '' 100 0
101 产品展示 100 ManagerController show 100-101 1
CREATE TABLE `sw_auth` (
    `auth_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
    `auth_name` varchar(20) NOT NULL COMMENT '权限名称',
    `auth_pid` smallint(6) unsigned NOT NULL COMMENT'父id',
    `auth_c` varchar(32) NOT NULL DEFAULT '' COMMENT '控制器',
    `auth_a` varchar(32) NOT NULL DEFAULT '' COMMENT '操作方法',
    `auth_path` varchar(32) NOT NULL COMMENT '全路径',
    `auth_level` tinyint(4) NOT NULL DEFAULT '0' COMMENT '级别',
    PRIMARY KEY(`auth_id`)
) ENGING-InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Salin selepas log masuk

角色表

role_idrole_namerole_auth_idsrole_auth_ac
0 站主 1,3,9 操作器-控制器,操作器-控制器,...
1 高级管理员 1,2,3,9,12 操作器-控制器,操作器-控制器,...
CREATE TABLE `sw_role` (
    `role_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
    `role_name` varchar(20) NOT NULL COMMENT '角色名称',
    `role_auth_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '权限id,1,3,..',
    `role_auth_ac` text COMMENT '控制器2-操作3,控制器1-操作6,...',
    PRIMARY KEY(`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;<br /><br />
Salin selepas log masuk


数据模拟

1.权限数据

  产品中心(产品展示,最新产品,分类管理,子类管理) 高级管理(用户留言,留言簿,产品订购,文件管理) 系统管理(基本设置,样式管理,首页设置,管理员列表)

<span class="zhushi">顶级权限</span>
insert into sw_auth values ( 100,'产品中心',0,'','',100,0 );
insert into sw_auth values ( 101,'高级管理',0,'','',101,0 );
insert into sw_auth values ( 102,'系统管理',0,'','',102,0 );
insert into sw_auth values ( 103,'权限管理',0,'','',103,0 );

<span class="zhushi">次级权限</span>
insert into sw_auth values ( 104,'产品展示',100,'Goods','show','100-104',1 );
insert into sw_auth values ( 105,'最新产品',100,'Goods','showlist','100-105',1 );
insert into sw_auth values ( 106,'分类管理',100,'Goods','cate','100-106',1 );

insert into sw_auth values ( 107,'用户留言',101,'Goods','words','101-107',1 );
insert into sw_auth values ( 108,'留言簿',  101,'Goods','wordsbook','101-108',1 );

insert into sw_auth values ( 109,'基本设置',102,'Goods','set','102-109',1 );
insert into sw_auth values ( 110,'样式管理',102,'Goods','css','102-110',1 );

insert into sw_auth values ( 111,'用户列表',103,'Goods','userlist','103-111',1 );
insert into sw_auth values ( 112,'角色管理',103,'Goods','role','103-112',1 );
insert into sw_auth values ( 113,'权限列表',103,'Goods','auth','103-113',1 );

Salin selepas log masuk

2.角色数据

  sw_role 站主 所有权限(103,104,105,106,107,108,109) 管理员 部分权限(104,105,109) 版主 部分权限(103,108)

<span class="zhushi">角色</span>
insert into sw_role values (10,'站主','100,101,102,103,104,105,106,107,108,109,110,111,112,113','Goods-show,Goods-showlist,Goods-cate,Goods-words,Goods-wordsbook,Goods-set,Goods-css');
insert into sw_role values (11,'管理员','100,102,104,105,109','Goods-showlist,Goods-cate,Goods-css');
insert into sw_role values (12,'版主','100,101,103,106,108,113','Goods-show,Goods-set');
Salin selepas log masuk

3.流程说明

  Index控制器内 获取用户的角色id,进而获得角色权限 进行判断是否展现数据 Index控制器--->left方法--->left.html模板 Index控制器

//(1)根据用户id获取本身记录信息
        $mg_id = session('admin_id');
        
Salin selepas log masuk
//D('Manager')实例化了一个Manager的Model对象
        $manager_info = D('Manager')->find($mg_id);
        $role_id = $manager_info['mg_role_id'];
        
Salin selepas log masuk
//(2)根据role_id 获得本身记录信息
        $role_info = D('Role')->find($role_id);
        $auth_ids = $role_info['role_auth_ids'];
        
Salin selepas log masuk
//(3)根据$auth_ids 获得具体权限
        $auth_infoA = D('Auth')->where("auth_level=0 and auth_id in($auth_ids)")->select();
Salin selepas log masuk
//父级
        $auth_infoB = D('Auth')->where("auth_level=1 and auth_id in($auth_ids)")->select();
Salin selepas log masuk
//子级
        $this->assign('auth_infoA',$auth_infoA);
        $this->assign('auth_infoB',$auth_infoB);
        
Salin selepas log masuk
//传到模板中
        $this->assign('auth_info',$auth_info);
        $this->display();
Salin selepas log masuk

4.模板 left.html

  {foreach $auth_infoA as $k=>$v}         
      background={$smarty.const.ADMIN_IMG_URL}/menu_bt.jpg >{$v.auth_id})       href="javascript:void(0);">{$v.auth_name}
    {$v.auth_id}>      {foreach $auth_infoB as $k2=>$v2}        {if $v2.auth_pid == $v.auth_id}                              {/if}      {/foreach}          
yotaku的开发日志(1),yotaku开发日志_PHP教程{$v2.auth_name}           
  {/foreach}  

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1081947.htmlTechArticleyotaku的开发日志(1),yotaku开发日志 2015-12-1821:17:46 连续看了几天的ThinkPHP框架,目前看到基于角色的用户访问权限控制。 相关代码如下: 数...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendayakan fungsi VBS Win11 Bagaimana untuk mendayakan fungsi VBS Win11 Dec 25, 2023 pm 02:09 PM

Jika anda ingin membuka vbs selepas menutupnya sebelum ini, anda juga boleh membukanya. Kita boleh menggunakan kod arahan untuk membukanya. Cara membuka win11vbs: 1. Pertama, kita klik pada “Start Menu”. 2. Kemudian klik "Windows Terminal". 3. Kemudian masukkan "bcdedit/sethypervisorlaunchtypeauto". 4. Kemudian mulakan semula komputer, buka menu mula, dan cari "maklumat sistem" dalam bar carian. 5. Kemudian semak sama ada "keselamatan berasaskan virtualisasi" dihidupkan.

Bagaimana untuk membuka vbs dalam sistem win11? Bagaimana untuk memulakan semula vbs dalam win11 Bagaimana untuk membuka vbs dalam sistem win11? Bagaimana untuk memulakan semula vbs dalam win11 Jan 31, 2024 pm 11:24 PM

vbs ialah singkatan dari Virtual-BasedSecurity, yang merupakan fungsi keselamatan berdasarkan virtualisasi. Walau bagaimanapun, dalam sistem Windows 11, ia dimatikan secara lalai. Bagi pengguna yang perlu menggunakan ciri ini, mereka mungkin tidak tahu cara mendayakannya. Nasib baik, kami boleh mendayakannya melalui Windows Terminal (sebagai pentadbir). Untuk kemudahan pengguna, kami akan berkongsi langkah terperinci dalam tutorial Win11 hari ini. Jika anda memerlukan maklumat lanjut, sila layari laman web kami. Tutorial untuk memulakan semula vbs dalam win11 1. Mula-mula, kita klik kanan menu mula di sebelah kiri bar tugas. 3. Kemudian masukkan bcdedit/sethypervisorlaun

Tutorial VBS Windows11: Bagaimana untuk menutup aplikasi dengan anggun? Tutorial VBS Windows11: Bagaimana untuk menutup aplikasi dengan anggun? Mar 08, 2024 am 11:54 AM

Tutorial VBS Windows 11: Bagaimana untuk menutup aplikasi dengan anggun? Apabila menggunakan sistem pengendalian Windows 11 setiap hari, kita sering menghadapi situasi di mana kita perlu menutup berbilang aplikasi pada masa yang sama. Kadangkala kita lazimnya mengklik butang tutup, atau menggunakan pengurus tugas untuk menamatkan proses aplikasi satu demi satu. Walau bagaimanapun, menggunakan skrip VBS (VisualBasicScript) boleh menutup berbilang aplikasi serentak dengan lebih cekap, menjadikan operasi lebih lancar dan lebih mudah. 1.Apa itu

Ralat Windows Script Host 'Sistem tidak dapat mencari fail yang ditentukan' betulkan Ralat Windows Script Host 'Sistem tidak dapat mencari fail yang ditentukan' betulkan Apr 13, 2023 pm 12:22 PM

Windows Script Host menyediakan pengguna dengan persekitaran untuk melaksanakan skrip. Sesetengah skrip dilaksanakan sebaik sahaja anda log masuk ke komputer anda, dan yang lain mungkin dilaksanakan apabila anda mencetuskannya. Apabila anda log masuk ke komputer anda dan kemudian menemui ralat mengatakan ralat "Sistem tidak dapat mencari fail yang ditentukan", artikel ini akan membantu anda menyelesaikan masalah tersebut. Nah, sebab untuk masalah ini boleh berbeza seperti serangan malware atau pemasangan yang tidak betul atau beberapa fail telah dipadamkan dsb. Di sini kami mempunyai penyelesaian berbeza yang boleh anda cuba dan selesaikan masalah anda, jadi mari mulakan! Kaedah 1 – Muat turun utiliti autorun dan semak entri vbs Langkah 1 – Pergi ke laman web ini dan klik pada ikon muat turun di sudut kanan atas dan simpan Langkah 2 – Selepas memuat turun folder

Bagaimana untuk menggunakan kod seluruh orang vbs Bagaimana untuk menggunakan kod seluruh orang vbs Nov 22, 2023 am 10:05 AM

Pertama sekali, perlu jelas bahawa menggunakan gurauan atau kod buli boleh menyebabkan kesusahan atau bahaya yang tidak perlu kepada orang lain. Adalah disyorkan untuk berfikir dua kali sebelum menulis dan melaksanakan sebarang bentuk kod jahat adalah tidak bertanggungjawab dan tidak beretika. Cara menggunakan kod penyuntingan vbs: 1. Fahami matlamat: sebelum menulis kod, anda perlu memahami matlamat yang hendak diintegrasikan 2. Tentukan matlamat: tentukan kesan yang ingin anda capai melalui skrip; : gunakan VBScript untuk menulis skrip; 4. Kod Ujian: Uji dahulu dalam persekitaran yang selamat 5. Pelaksanaan: Jika tiada masalah dengan ujian, ia boleh dilaksanakan.

vbs是什么文件 vbs是什么文件 Feb 19, 2021 pm 02:43 PM

vbs是基于Visual Basic的脚本语言,VBS的全称是“Microsoft Visual Basic Script Edition”;因为VBS较为简单可行性强,所以在打开VBS文件之前要确保VBS的安全性和渠道的可信性。

Microsoft sedang menguji saluran perkhidmatan versi 24H2 dalam saluran Windows 11 Dev Selepas menghidupkan VBS, anda akan menerima kemas kini 26080.1400 Microsoft sedang menguji saluran perkhidmatan versi 24H2 dalam saluran Windows 11 Dev Selepas menghidupkan VBS, anda akan menerima kemas kini 26080.1400 Mar 19, 2024 pm 01:25 PM

Microsoft menolak dua kemas kini perkhidmatan pada DevChannel hari ini, bertujuan untuk menguji versi Win1124H2 saluran paip perkhidmatan. Kemas kini ini tidak mengandungi sebarang kandungan baharu dan disediakan semata-mata untuk menilai kefungsian dan kestabilan sistem. Menurut arahan rasmi, kebanyakan pengguna dalam saluran Dev akan menerima kemas kini terkumpul 26080.1300 (KB5037139), tetapi jika ciri keselamatan berasaskan virtualisasi (VBS) didayakan, mereka akan menerima Build 26080.1400 (KB5037140). Microsoft menekankan bahawa peranti Arm64 hanya akan menerima kemas kini KB5037139, walaupun ia telah mendayakan VBS. Nota Laman Utama IT: Keselamatan berasaskan maya (VBS) menggunakan virtualisasi perkakasan dan Windo

Bagaimana untuk menutup win11vbs Bagaimana untuk menutup win11vbs Jan 07, 2024 am 09:10 AM

Win11 akan mendayakan fungsi perlindungan sistem vbs secara lalai Menurut ujian, mematikan fungsi ini boleh meningkatkan prestasi sistem hampir 30%, jadi sangat sesuai untuk pemain mematikannya. Cara menutup win11vbs 1. Pertama, kita klik pada "Start Menu" di bahagian bawah 2. Kemudian cari "Windows PowerShell" di bahagian atas dan klik "Run as Administrator". " dan tekan Enter untuk menjalankan. 4. Selepas operasi selesai, mulakan semula komputer untuk menutup vbs.

See all articles