yotaku的开发日志(1),yotaku开发日志_PHP教程
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;
权限表
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;
角色表
role_id | role_name | role_auth_ids | role_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 />
数据模拟:
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 );
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');
3.流程说明
Index控制器内 获取用户的角色id,进而获得角色权限 进行判断是否展现数据 Index控制器--->left方法--->left.html模板 Index控制器
//(1)根据用户id获取本身记录信息$mg_id = session('admin_id');
$manager_info = D('Manager')->find($mg_id); $role_id = $manager_info['mg_role_id'];
$role_info = D('Role')->find($role_id); $auth_ids = $role_info['role_auth_ids'];
$auth_infoA = D('Auth')->where("auth_level=0 and auth_id in($auth_ids)")->select();
$auth_infoB = D('Auth')->where("auth_level=1 and auth_id in($auth_ids)")->select();
$this->assign('auth_infoA',$auth_infoA); $this->assign('auth_infoB',$auth_infoB);
$this->assign('auth_info',$auth_info); $this->display();
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} |
![]() | {$v2.auth_name} |

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Si vous souhaitez ouvrir vbs après l'avoir fermé auparavant, vous pouvez également l'ouvrir. Nous pouvons utiliser le code de commande pour l'ouvrir. Voyons comment ouvrir vbs. Comment ouvrir win11vbs : 1. Tout d'abord, nous cliquons sur le « Menu Démarrer ». 2. Cliquez ensuite sur « Terminal Windows ». 3. Saisissez ensuite « bcdedit/sethypervisorlaunchtypeauto ». 4. Redémarrez ensuite l'ordinateur, ouvrez le menu Démarrer et recherchez « informations système » dans la barre de recherche. 5. Vérifiez ensuite si la « sécurité basée sur la virtualisation » est activée.

vbs est l'abréviation de Virtual-BasedSecurity, qui est une fonction de sécurité basée sur la virtualisation. Cependant, sur les systèmes Windows 11, il est désactivé par défaut. Pour les utilisateurs qui ont besoin d’utiliser cette fonctionnalité, ils ne savent peut-être pas comment l’activer. Heureusement, nous pouvons l'activer via le terminal Windows (en tant qu'administrateur). Pour la commodité des utilisateurs, nous partagerons les étapes détaillées dans le didacticiel Win11 d’aujourd’hui. Si vous avez besoin de plus d’informations, veuillez visiter notre site Web. Tutoriel sur le redémarrage de VBS dans Win11 1. Tout d'abord, nous cliquons avec le bouton droit sur le menu Démarrer sur le côté gauche de la barre des tâches. 3. Entrez ensuite bcdedit/sethypervisorlaun

Tutoriel Windows 11 VBS : Comment fermer les applications en douceur ? Lorsque nous utilisons quotidiennement le système d'exploitation Windows 11, nous rencontrons souvent des situations où nous devons fermer plusieurs applications en même temps. Parfois, nous pouvons habituellement cliquer sur le bouton de fermeture ou utiliser le gestionnaire de tâches pour mettre fin aux processus de candidature un par un. Cependant, l'utilisation du script VBS (VisualBasicScript) peut fermer plus efficacement plusieurs applications à la fois, rendant l'opération plus fluide et plus pratique. 1.Qu'est-ce que

Windows Script Host fournit aux utilisateurs un environnement pour exécuter des scripts. Certains scripts s'exécutent dès que vous vous connectez à votre ordinateur, tandis que d'autres peuvent s'exécuter lorsque vous les déclenchez. Lorsque vous vous connectez à votre ordinateur et que vous trouvez une erreur indiquant « Le système ne peut pas trouver le fichier spécifié », cet article vous aidera à résoudre le problème. Eh bien, les raisons de ce problème peuvent être différentes, comme une attaque de logiciel malveillant, une mauvaise installation ou la suppression de certains fichiers, etc. Nous avons ici différentes solutions que vous pouvez essayer pour résoudre votre problème, alors commençons ! Méthode 1 – Téléchargez l'utilitaire d'exécution automatique et vérifiez les entrées vbs Étape 1 – Accédez à ce site Web et cliquez sur l'icône de téléchargement dans le coin supérieur droit et enregistrez Étape 2 – Après avoir téléchargé le dossier

Tout d’abord, il doit être clair que l’utilisation de farces ou de codes d’intimidation peut causer une détresse inutile ou nuire à autrui. Il est recommandé de réfléchir à deux fois avant d’écrire et de mettre en œuvre toute forme de code malveillant. Un tel comportement est irresponsable et contraire à l’éthique. Comment utiliser le code de la personne entière : 1. Comprendre l'objectif : avant d'écrire le code, vous devez comprendre l'objectif à corriger ; 2. Déterminer l'objectif : déterminer l'effet que vous souhaitez obtenir grâce au script ; code : utilisez VBScript pour écrire le script ; 4. Testez le code : testez-le d'abord dans un environnement sûr 5. Implémentation : s'il n'y a aucun problème avec le test, il peut être implémenté ;

VBS est un langage de script basé sur Visual Basic. Le nom complet de VBS est « Microsoft Visual Basic Script Edition » car VBS est relativement simple et réalisable, vous devez vous assurer de la sécurité de VBS et de la crédibilité du canal avant d'ouvrir un fichier VBS ; .

Microsoft a publié aujourd'hui deux mises à jour de service sur DevChannel, dans le but de tester le pipeline de services de la version Win1124H2. Ces mises à jour ne contiennent aucun nouveau contenu et sont fournies uniquement pour évaluer la fonctionnalité et la stabilité du système. Selon les instructions officielles, la plupart des utilisateurs du canal Dev recevront la mise à jour cumulative 26080.1300 (KB5037139), mais si la fonctionnalité de sécurité basée sur la virtualisation (VBS) est activée, ils recevront la version 26080.1400 (KB5037140). Microsoft souligne que les appareils Arm64 ne recevront que la mise à jour KB5037139, même si VBS est activé. Remarque sur la maison informatique : la sécurité basée sur la virtualisation (VBS) utilise la virtualisation matérielle et Windo

Win11 activera une fonction de protection du système VBS par défaut. Selon les tests, la désactivation de cette fonction peut améliorer les performances du système de près de 30 %, il est donc très approprié pour les joueurs de la désactiver. Alors, comment désactiver Win11 VBS. Comment fermer win11vbs 1. Tout d'abord, nous cliquons sur le "Menu Démarrer" en bas. 2. Ensuite, recherchons "Windows PowerShell" en haut et cliquez sur "Exécuter en tant qu'administrateur". 3. Après l'ouverture, saisissez "bcdedit/sethypervisorlaunchtypeoff". " et appuyez sur Entrée pour exécuter. 4. Une fois l'opération terminée, redémarrez l'ordinateur pour fermer vbs.
