Inhaltsverzeichnis
yotaku的开发日志(1),yotaku开发日志
Heim Backend-Entwicklung PHP-Tutorial 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;
Nach dem Login kopieren

权限表

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;
Nach dem Login kopieren

角色表

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 />
Nach dem Login kopieren


数据模拟

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 );

Nach dem Login kopieren

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');
Nach dem Login kopieren

3.流程说明

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

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

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框架,目前看到基于角色的用户访问权限控制。 相关代码如下: 数...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So aktivieren Sie die VBS-Funktion in Win11 So aktivieren Sie die VBS-Funktion in Win11 Dec 25, 2023 pm 02:09 PM

Wenn Sie vbs nach dem Schließen öffnen möchten, können Sie es auch mit dem Befehlscode öffnen. Schauen wir uns an, wie man vbs öffnet. So öffnen Sie win11vbs: 1. Zuerst klicken wir auf das „Startmenü“. 2. Klicken Sie dann auf „Windows-Terminal“. 3. Geben Sie dann „bcdedit/sethypervisorlaunchtypeauto“ ein. 4. Starten Sie dann den Computer neu, öffnen Sie das Startmenü und suchen Sie in der Suchleiste nach „Systeminformationen“. 5. Überprüfen Sie anschließend, ob die „virtualisierungsbasierte Sicherheit“ aktiviert ist.

Wie öffne ich VBS im Win11-System? So starten Sie VBS in Win11 neu Wie öffne ich VBS im Win11-System? So starten Sie VBS in Win11 neu Jan 31, 2024 pm 11:24 PM

vbs ist die Abkürzung für Virtual-BasedSecurity, eine auf Virtualisierung basierende Sicherheitsfunktion. In Windows 11-Systemen ist es jedoch standardmäßig deaktiviert. Benutzer, die diese Funktion verwenden müssen, wissen möglicherweise nicht, wie sie sie aktivieren können. Glücklicherweise können wir es über Windows Terminal (als Administrator) aktivieren. Zur Vereinfachung der Benutzer werden wir im heutigen Win11-Tutorial detaillierte Schritte vorstellen. Wenn Sie weitere Informationen benötigen, besuchen Sie bitte unsere Website. Tutorial zum Neustart von VBS in Win11 1. Zuerst klicken wir mit der rechten Maustaste auf das Startmenü auf der linken Seite der Taskleiste. 3. Geben Sie dann bcdedit/sethypervisorlaun ein

Windows11 VBS-Tutorial: Wie schließe ich Anwendungen ordnungsgemäß? Windows11 VBS-Tutorial: Wie schließe ich Anwendungen ordnungsgemäß? Mar 08, 2024 am 11:54 AM

Windows 11 VBS-Tutorial: Wie schließe ich Anwendungen ordnungsgemäß? Bei der täglichen Nutzung des Betriebssystems Windows 11 kommt es häufig vor, dass wir mehrere Anwendungen gleichzeitig schließen müssen. Manchmal klicken wir gewohnheitsmäßig auf die Schaltfläche „Schließen“ oder verwenden den Task-Manager, um Anwendungsprozesse einzeln zu beenden. Durch die Verwendung von VBS-Skripten (VisualBasicScript) können jedoch mehrere Anwendungen gleichzeitig effizienter geschlossen werden, wodurch der Vorgang reibungsloser und bequemer wird. 1.Was ist

Behebung des Windows Script Host-Fehlers „Das System kann die angegebene Datei nicht finden'. Behebung des Windows Script Host-Fehlers „Das System kann die angegebene Datei nicht finden'. Apr 13, 2023 pm 12:22 PM

Windows Script Host bietet Benutzern eine Umgebung zum Ausführen von Skripts. Einige Skripte werden ausgeführt, sobald Sie sich bei Ihrem Computer anmelden, andere werden möglicherweise ausgeführt, wenn Sie sie auslösen. Wenn Sie sich bei Ihrem Computer anmelden und dann die Fehlermeldung „Das System kann die angegebene Datei nicht finden“ finden, hilft Ihnen dieser Artikel bei der Behebung des Problems. Nun, die Gründe für dieses Problem können unterschiedlich sein, z. B. ein Malware-Angriff oder eine unsachgemäße Installation oder das Löschen einiger Dateien usw. Hier haben wir verschiedene Lösungen, mit denen Sie Ihr Problem lösen können, also fangen wir an! Methode 1 – Laden Sie das Autorun-Dienstprogramm herunter und überprüfen Sie die VBS-Einträge. Schritt 1 – Gehen Sie zu dieser Website und klicken Sie auf das Download-Symbol in der oberen rechten Ecke und speichern Sie. Schritt 2 – Nach dem Herunterladen des Ordners

So verwenden Sie den VBS-Code für die ganze Person So verwenden Sie den VBS-Code für die ganze Person Nov 22, 2023 am 10:05 AM

Zunächst muss klar sein, dass die Verwendung von Streichen oder Mobbing-Codes andere unnötig belasten oder schädigen kann. Es wird empfohlen, zweimal darüber nachzudenken, bevor man irgendeine Form von Schadcode schreibt und implementiert. Ein solches Verhalten ist unverantwortlich und unethisch. So verwenden Sie den gesamten Personencode von vbs: 1. Verstehen Sie das Ziel: Bevor Sie den Code schreiben, müssen Sie das zu korrigierende Ziel verstehen: Bestimmen Sie, welchen Effekt Sie mit dem Skript erzielen möchten Code: Verwenden Sie VBScript, um das Skript zu schreiben. 4. Testen Sie den Code: Testen Sie ihn zuerst in einer sicheren Umgebung. 5. Implementierung: Wenn beim Test kein Problem auftritt, kann er implementiert werden.

Microsoft testet die 24H2-Versions-Service-Pipeline im Windows 11 Dev-Kanal. Nach der Aktivierung von VBS erhalten Sie das Update 26080.1400 Microsoft testet die 24H2-Versions-Service-Pipeline im Windows 11 Dev-Kanal. Nach der Aktivierung von VBS erhalten Sie das Update 26080.1400 Mar 19, 2024 pm 01:25 PM

Microsoft hat heute zwei Service-Updates auf DevChannel veröffentlicht, mit dem Ziel, die Win1124H2-Version der Service-Pipeline zu testen. Diese Updates enthalten keine neuen Inhalte und werden ausschließlich zur Bewertung der Systemfunktionalität und -stabilität bereitgestellt. Den offiziellen Anweisungen zufolge erhalten die meisten Benutzer im Dev-Kanal das kumulative Update 26080.1300 (KB5037139). Wenn jedoch die Funktion „Virtualisierungsbasierte Sicherheit“ (VBS) aktiviert ist, erhalten sie Build 26080.1400 (KB5037140). Microsoft betont, dass Arm64-Geräte nur das Update KB5037139 erhalten, auch wenn sie VBS aktiviert haben. IT Home Hinweis: Virtualisierungsbasierte Sicherheit (VBS) nutzt Hardware-Virtualisierung und Windo

Welche Datei ist VBS? Welche Datei ist VBS? Feb 19, 2021 pm 02:43 PM

VBS ist eine auf Visual Basic basierende Skriptsprache. Da VBS relativ einfach und machbar ist, müssen Sie die Sicherheit von VBS und die Glaubwürdigkeit des Kanals sicherstellen, bevor Sie eine VBS-Datei öffnen .

So schließen Sie win11vbs So schließen Sie win11vbs Jan 07, 2024 am 09:10 AM

Win11 aktiviert standardmäßig eine VBS-Systemschutzfunktion. Tests zufolge kann das Ausschalten dieser Funktion die Systemleistung um fast 30 % verbessern. Daher ist es für Gamer sehr gut geeignet, sie zu deaktivieren. So schließen Sie win11vbs: 1. Klicken Sie zunächst unten auf „Startmenü“. 2. Suchen Sie dann oben nach „Windows PowerShell“ und klicken Sie auf „Als Administrator ausführen“. 3. Geben Sie nach dem Öffnen „bcdedit/sethypervisorlaunchtypeoff“ ein " und drücken Sie die Eingabetaste, um auszuführen. 4. Nachdem der Vorgang abgeschlossen ist, starten Sie den Computer neu, um vbs zu schließen.

See all articles