Table des matières
yotaku的开发日志(1),yotaku开发日志
Maison développement back-end tutoriel 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;
Copier après la connexion

权限表

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;
Copier après la connexion

角色表

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 />
Copier après la connexion


数据模拟

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

Copier après la connexion

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');
Copier après la connexion

3.流程说明

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

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

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框架,目前看到基于角色的用户访问权限控制。 相关代码如下: 数...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment activer la fonction VBS dans Win11 Comment activer la fonction VBS dans Win11 Dec 25, 2023 pm 02:09 PM

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.

Comment ouvrir VBS dans le système Win11 ? Comment redémarrer VBS dans Win11 Comment ouvrir VBS dans le système Win11 ? Comment redémarrer VBS dans Win11 Jan 31, 2024 pm 11:24 PM

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 VBS Windows11 : Comment fermer les applications en douceur ? Tutoriel VBS Windows11 : Comment fermer les applications en douceur ? Mar 08, 2024 am 11:54 AM

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

Erreur Windows Script Host 'Le système ne peut pas trouver le fichier spécifié' Erreur Windows Script Host 'Le système ne peut pas trouver le fichier spécifié' Apr 13, 2023 pm 12:22 PM

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

Comment utiliser le code de personne entière VBS Comment utiliser le code de personne entière VBS Nov 22, 2023 am 10:05 AM

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

quel fichier est vbs quel fichier est vbs Feb 19, 2021 pm 02:43 PM

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 teste le pipeline de service de la version 24H2 dans le canal de développement Windows 11. Après avoir activé VBS, vous recevrez la mise à jour 26080.1400. Microsoft teste le pipeline de service de la version 24H2 dans le canal de développement Windows 11. Après avoir activé VBS, vous recevrez la mise à jour 26080.1400. Mar 19, 2024 pm 01:25 PM

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

Comment fermer win11vbs Comment fermer win11vbs Jan 07, 2024 am 09:10 AM

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.

See all articles