Die folgende Tutorial-Kolumne des Thinkphp-Frameworks stellt Ihnen die Authentifizierungsberechtigungseinstellung und -implementierung in Thinkphp5 vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!
1. Laden Sie die Authentifizierungsklasse herunter und platzieren Sie sie im Verzeichnis: extensionauth.php
2. Führen Sie die SQL-Anweisung in der Klasse aus. die in der Datenbank verwendet werden können Erstellen Sie 3 Tabellen auth_group (Benutzergruppentabelle) auth_rule (Berechtigungsregeltabelle) auth_group_access (Benutzer- und Benutzergruppenzuordnungstabelle)
3 Ich möchte den Regeln eine Ebenenbeziehung hinzufügen ( ähnlich der Infinitus-Klassifizierung) auth_rule (Berechtigungsregeltabelle) Fügen Sie 3 Felder hinzu pid (Eltern-ID, 0 ist die Berechtigung der obersten Ebene) Ebene (Ebene) Sortierung (Sortierung), wie unten gezeigt
4, erstellen Sie zunächst selbst eine Administratortabelle, z. B. die Admin-Tabelle, und gestalten Sie sie normal, indem Sie sie hinzufügen, löschen, ändern und überprüfen. Das Gruppenfeld ist die Benutzergruppe, zu der es gehört
5.auth_group Benutzergruppe selbst hinzufügen, löschen, ändern und überprüfen, ID, Benutzergruppenname, Status (ein oder aus), Regeln (entsprechend der ID der Regeltabelle)
6.auth_rule Regeltabelle: ID, Name (Controller/Methode), Titel (Regelname) Status (ein oder aus) hinzufügen, löschen, ändern und selbst überprüfen.
7. Wählen Sie beim Hinzufügen eines Benutzers die Benutzergruppe aus, zu der der Benutzer gehört, uid (entsprechend der Benutzer-ID) und group_id (entsprechend der ID der Benutzergruppe). zu dem der Benutzer gehört), so dass sie verknüpft sind
8 Schließen Sie die Mitglieder-Anmeldefunktion ab und legen Sie anschließend die Sitzung ('id') fest Erfolgreiche Anmeldung und Speichern der aktuell angemeldeten Mitglieds-ID in der Sitzung
9 Der wichtigste Schritt: Verwenden Sie einfach die Authentifizierungsklasse zur Überprüfung und verwenden Sie
<?php namespace app\admin\controller; use think\Controller; use think\Request; use auth\Auth; //引入suth类 class Common extends Controller { public function _initialize(){ //初始化判断用户是否已经登陆 if(!session('uname')){ $this->error('请先登陆系统!','login/index'); } //获得当前页面的控制器 / 方法 $request=Request::instance(); $moudle=$request->module(); //获取当前控制器名称 $con=$request->controller(); //获取当前控制器名称 $action=$request->action(); //获取当前方法名称 $this->assign(array( 'con'=>$con, 'action'=>$action, )); $rules=$con.'/'.$action; //组合 控制器/方法 $auth=new Auth(); //实例化auth类 $notCheck=array('Index/index'); //都可以访问的页面 if(session('uid')!=1){ //不是超级管理员才进行权限判断 if(!in_array($rules,$notCheck)){ // 是否在开放权限里面 if(!$auth->check($rules,session('uid'))){ // 第一个参数 控制/方法 第二个参数:当前登陆会员的id $this->error('没有权限','index/index'); }; } } }
auf der öffentlichen Seite .php für die endgültige Anzeige;
Das obige ist der detaillierte Inhalt vonEinstellung und Implementierung der Authentifizierungsberechtigung in Thinkphp5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!