Anzeige des Infinitus-Menüs
In Entwicklungsprojekten ist die Anzeige des Backend-Infinitus-Menüs unvermeidlich und sehr häufig. Im Allgemeinen ist das Hintergrundmenü in zwei Ebenen unterteilt, bis zu drei Ebenen, es können jedoch auch mehrere Ebenen vorhanden sein. Heute werde ich den Implementierungsprozess des Infinitus-Menüs protokollieren.
Was hier geschieht, ist: Rollenbasierte Zugriffskontrolle. In RBAC werden Berechtigungen mit Rollen verknüpft, und Benutzer erhalten die Berechtigungen dieser Rollen, indem sie Mitglieder der entsprechenden Rollen werden. Dies vereinfacht die Verwaltung von Berechtigungen erheblich. In einer Organisation werden Rollen erstellt, um verschiedene Aufgaben zu erledigen, und Benutzern werden basierend auf ihren Verantwortlichkeiten und Qualifikationen entsprechende Rollen zugewiesen. Benutzer können problemlos von einer Rolle zur anderen zugewiesen werden. Rollen können basierend auf neuen Anforderungen und der Systemintegration neue Berechtigungen gewährt werden, und Berechtigungen können bei Bedarf auch von einer Rolle zurückgefordert werden. Beziehungen zwischen Charakteren können so aufgebaut werden, dass sie ein breiteres Spektrum objektiver Umstände abdecken.
Führen Sie zunächst die folgende Tabellenstruktur ein:
CREATE TABLE `sp_auth` (
`auth_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`auth_name` varchar(30) NOT NULL COMMENT 'Authority name',
`action_name` varchar( 30) NOT NULL COMMENT 'Berechtigungscode',
`desc` varchar(120) NOT NULL DEFAULT '' COMMENT 'Berechtigungsbeschreibung',
`pid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT ' Überlegene Berechtigungs-ID',
`sort_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Permission sort value',
`add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Zeit hinzufügen ',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Update time',
`is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Ob gelöscht werden soll (0 nicht gelöscht | 1 hat Löschen)',
PRIMARY KEY (`auth_id`),
UNIQUE KEY `action_name` (`action_name`),
KEY `pid` (`pid`),
KEY `add_time` ( `add_time`),
KEY `is_delete` (`is_delete`),
KEY `controller_name` (`controller_name`(6)),
KEY `auth_name` (`auth_name`(16)) ,
KEY `sort_id` (`sort_id`)
) ENGINE=MyISAM AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COMMENT='Permission Table';
Verarbeitungsmethode:
//打印无限极树形结构菜单展示<br> function _reSorts($data, $pid=0)<br> {<br> $ret = array();<br> foreach ($data as $k => $v) {<br> if($v['pid'] == $pid) {<br> $v['children'] = _reSorts($data, $v['auth_id']);<br> $ret[] = $v;<br> }<br> }<br> return $ret;<br> }<br>//打印二级菜单的方法
function getMenuShow($data)<br>{<br> $ret = array();<br> if (!is_array($data)) {<br> return false;<br> }<br> foreach ($data as $key => $val) {<br> if ($val['pid'] == 0) {<br> //再次遍历,将第二级别的放在作为其子菜单<br> foreach ($data as $k => $v) {<br> if ($v['pid'] == $val['auth_id']) {<br> $val['children'][] = $v;<br> }<br> }<br> $ret[] = $val;<br> }<br> }<br> return $ret;<br>}
Auf diese Weise erhalten Sie die angezeigten Menüdaten.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen









