Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > World of Warcraft > WoW Private Server
You last visited: Today at 06:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[TrinityCore] RBAC System - Einführung und Anwendung

Discussion on [TrinityCore] RBAC System - Einführung und Anwendung within the WoW Private Server forum part of the World of Warcraft category.

Reply
 
Old   #1

 
elite*gold: 808
Join Date: Jul 2010
Posts: 7,984
Received Thanks: 1,653
[TrinityCore] RBAC System - Einführung und Anwendung

Trinitys RBAC
Role Based Access Control


Übersicht

1. Wofür ist es gedacht?
2. Wo finde ich es? Emulationsabhängig?
3. Wichtige Tabellen
4. Auslesen der Rollen, Gruppen und Rechte (Ingame)
5. RBAC - Welche Gruppen sind wichtig?
6. SQL - File
6.1. Das Gleiche nur InGame
7. Zusammenhang mit `TC_world.commands`
8. Schlusswort





1. Wofür ist es gedacht?


Role Based Access Control, im Folgendem RBAC genannt, ist dafür gedacht, für jeden Account spezifische Rechte zuzuweisen. Somit können viele Gruppen mit verschiedenen Rechte (= Permissions) erstellt werden. Sei es die Kommunikation mit allen Fraktionen oder auch teilweise GM - Commands an Spieler zu vergeben.




2. Wo finde ich es? Emulationsabhängig?


Für alle, die bisher den Threadtitel nicht gelesen haben: Es wird bisher nur von TrinityCore so ausführlich eingesetzt, wie hier beschrieben.




3. Die wichtigsten Tabellen

rbac_account_permissions -- Beinhaltet die Accounts mit deren Gruppen
rbac_default_permissions -- Beinhaltet die Grundrechte
rbac_linked_permissions -- Beinhaltet Gruppen inkl. deren Rechte
rbac_permissons -- Rechteübersicht


3.1. Welche Tabellen sind für einen neuen Account wichtig?

Dafür benötigt Ihr nur folgende Tabelle:

rbac_account_permissons




4. RBAC Befehle (Ingame)

Im folgenden werde ich alle Befehle kurz erläutern:

Code:
.rbac account [$account]
.rbac account permission [$account]
.rbac account grant [$account] #id [#realmID]
.rbac account deny [$account] #id [#realmID]
.rbac account revoke [$account] #id
.rbac list

.rbac account [$account]

Mit diesem Befehl könnt Ihr sämtliche vergebene Rechte an dem Spieler bzw. seinem Account einsehen. Dies wird jedoch nur für den aktuellen angezeigt. Die realen Berechtigungen werden erst angezeigt, wenn die Gruppe bzw. Rolle vorher gecheckt wird.

.rbac account permission [$account]

Siehe dem obrigen Befehl. Nun jedoch mit der Ausnahme, dass direkte gegebene bzw. entzogene Berechtigungen angezeigt werden. Die Grundrechte von den Rollen werden nicht angezeigt.

.rbac account grant [$account] #id [#realmID]

Hier könnt Ihr einem Account InGame rbac-Rechte vergeben. Solltet Ihr bei dem Realm "-1" eintragen, wird es Realmübergreifend für den Account aktiv.

.rbac account deny [$account] #id [#realmID]

Mit diesem Kommando könnt Ihr vergebene Rechte dem Account entziehen. Mit "-1" geschieht dies, wie bei grant, Realmübergreifend.

.rbac account revoke [$account] #id

Entfernt die Berechtigung von erteilten oder verweigerten Berechtigungen.

.rbac list

Listet alle verfügbaren Rechte auf.




5. RBAC - Welche Gruppen sind wichtig?

Als erstes müssen wir wissen, welche Gruppen es gibt. Im Normalfalle gibt es nur 4 Gruppen, wenn es eine neue Datenbank ist oder gar nichts verändert wurde.

Beachte: Bei Änderung der Gruppen immer an den Server wenden. Hier kann keine Hilfe angeboten werden.


Hier folgende IDs und die dazugehörigen Gruppen:
permissionID secID Beschreibung
195 0 Player
194 1 Moderator
193 2 GameMaster
192 3 Administrator




6. SQL - File

Erklärung:
Ihr teilt einem Account folgendes zu: Moderatorrechte

Code:
SET [MENTION=2692920]accountid[/MENTION] := 'xxxxx';

INSERT INTO `rbac_account_permissions` (`accountId`, `permissionId`, `realmId`) VALUES
  [MENTION=2692920]accountid[/MENTION], '194', '-1');


Erklärung:
Ihr teilt einem Account folgendes zu: GameMasterrechte.

Code:
SET [MENTION=2692920]accountid[/MENTION] := 'xxxxx';

INSERT INTO `rbac_account_permissions` (`accountId`, `permissionId`, `realmId`) VALUES
  [MENTION=2692920]accountid[/MENTION], '193', '-1');


Erklärung:
Ihr teilt einem Account folgendes zu: Administrationsrechte.

Code:
SET  [MENTION=2692920]accountid[/MENTION] := 'xxxxx';

INSERT INTO `rbac_account_permissions` (`accountId`, `permissionId`, `realmId`) VALUES
  [MENTION=2692920]accountid[/MENTION], '192', '-1');



6.1. Das Gleiche nur InGame

Moderatorrechte:
.rbac account grant ACCOUNT 194 -1

GameMasterrechte:
.rbac account grant ACCOUNT 193 -1

Administrationsrechte:
.rbac account grant ACCOUNT 192 -1



7. Zusammenhang mit `TC_world.commands`

Die world.command table würde grundlegend geändert. Sie beinhaltet nicht mehr, wie es früher üblich war, die SecurityID, sondern die PermissionID des Befehls. Die Commandtable kann daher getrost beiseite gelegt werden, da wir alles nurnoch mit auth.rbac_linked_permisson arbeiten.



8. Schlusswort

Dieses ist nur eine knappe Einführung in das RBAC - System. Es ist derzeit eine umgeschriebe ausführlichste im öffentlichen Web. Ich werde, je nach einem Projektangebot, das Tut weiter vervollständigen und näher auf die einzelnen Systeme eingehen.



#####################
#Letzte Änderung: 04.03.2014
#####################


NUR MIT SCHRIFTLICHER GENEHMINUNG DARF DAS TUT IN DER DEUTSCHEN SZENE GETEILT WERDEN! FRAGT EINFACH NACH, ICH BEIßE NICHT!
°"Crazy"° is offline  
Thanks
4 Users
Old 07/09/2013, 22:42   #2
 
Frosttall's Avatar
 
elite*gold: 55
Join Date: Oct 2009
Posts: 5,471
Received Thanks: 1,479
#sticky
Frosttall is offline  
Thanks
2 Users
Old 07/10/2013, 17:28   #3
 
elite*gold: 0
Join Date: Nov 2012
Posts: 35
Received Thanks: 2
weißt wie man das jetzt einbindet? also bei der hp registration?
Russakkyoa is offline  
Old 07/10/2013, 20:39   #4
 
elite*gold: 0
Join Date: Jun 2010
Posts: 762
Received Thanks: 85
Quote:
Originally Posted by Russakkyoa View Post
weißt wie man das jetzt einbindet? also bei der hp registration?
Die Frage von mir dazu findet man hier:^^
Ammonit is offline  
Old 08/06/2013, 20:07   #5

 
elite*gold: 808
Join Date: Jul 2010
Posts: 7,984
Received Thanks: 1,653
Punkt Nummer 7 "Zusammenhang mit `TC_world.commands`" hinzugefügt.
°"Crazy"° is offline  
Old 10/17/2013, 14:44   #6

 
elite*gold: 240
Join Date: Oct 2012
Posts: 219
Received Thanks: 80
Out- dated. Aber trotzdem ein nettes Tut.
foxyfoxtrod is offline  
Old 03/04/2014, 12:12   #7

 
elite*gold: 808
Join Date: Jul 2010
Posts: 7,984
Received Thanks: 1,653
Update auf dem Stand vom 04.03.2014

Viel Spaß mit dem System.
°"Crazy"° is offline  
Old 12/22/2014, 01:21   #8
 
Waller66's Avatar
 
elite*gold: 0
Join Date: Nov 2010
Posts: 1,548
Received Thanks: 333
Thank u so mutch, exactly what i searched for
Waller66 is offline  
Old 12/25/2014, 19:51   #9
 
elite*gold: 0
Join Date: Dec 2007
Posts: 18
Received Thanks: 1
cfool
PhyniX is offline  
Reply


Similar Threads Similar Threads
RBAC Manager
06/15/2013 - WoW Private Server - 6 Replies
Guten Tag die Herren Bin im Internet auf ein RBAC Manager gestoßen, simpel und leicht. Denke einige werden es gebrauchen können =) Hier noch der Virus Scann: KLICK MICH Screen: KLICK MICH
RBAC???
02/25/2013 - WoW Private Server - 11 Replies
moinse, ohne lange reden: Wie zur Hölle soll RBAC bitte Funktionieren? Gibt es hier jemanden der einem das ganze vllt. mal erläutern kann?
TrinityCore neues Log System?
08/14/2012 - WoW Private Server - 2 Replies
Hallo ihr lieben, ich hab mir heute mal wieder eine neue Core compiliert und dabei festgestellt das ein neues Log System vorhanden ist, besitze einen Windows Root Jetzt hab ich das Problem das meine - GM.Log (Die pro Account und nicht gemeinsam gespeichert werden sollen) - Chat.Log - Char.Log - Ra.Log Nicht mehr vorhanden sind also nichts speichern
Einführung
11/30/2009 - General Gaming Discussion - 2 Replies
Hallo, Kann mir einer eine Einfürung in RoM geben? habe es mir heute downgeloadet und weiß nicht wie ich spielen soll Welche Klasse soll ich nehmen etc.



All times are GMT +2. The time now is 06:31.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.