[alg/php] Forum & rechten

Pagina: 1
Acties:
  • 243 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil de volgende rechten toepassen op me forum en de meeste eingelijk alleen voor admins maar ook een paar voor het gebruik van de users

users
* post
* post topic
* edit eigen bericht
* bep. foras zien/lezen.
* etc

admins
* topic sluiten/heropenen
* topic sticky maken + readonly/post. voor users
* post veranderen user(s) in bep fora.
* post veranderen admin(s) in bep fora
* Topic geheel verwijderen.
* Post geheel verwijderen.
* Topic titel veranderen.
* Topic moven
* Usersig veranderen
* userbannen.
* etc

hoe kan ik dit nou verwerken als ik alleen maar de volgende tabel heb.

tabel: f_rechten
rechtid
user_id

Eingelijk niet toch? teminste dat kan ik me niet voorstellen, dus eerder zou zo'n tabel als (zie onder) beter toepasbaar zijn maar toch snap ik nog niet geheel hoe.

tabel: f_rechten
id
user_id
fora_id
recht
Op dinsdag 05 juni 2001 00:24 schreef dusty het volgende:
Ik heb de rechten dynamisch gemaakt. Zodra er een nieuwe d/b of iets anders wordt aangemaakt worden er automatisch ID's gegenereerd. Die ik dus aan gebruikers kan toekennen. (door een rechten tabelletje. RightID, UserID)
als die userid de rechtenid heeft dan is het "recht" waar. (dat kan dus ook een ban zijn is namelijk ook een recht.)

Ik heb GEEN groepen lijst. Dat stel ik gewoon samen door een simpel sql statement uit te voeren om te kijken wie een bepaald recht heeft.
dit was een post van dusty, mischien dat iemand me dit verder kan uitleggen.

ik heb nu 2 dagen gelezen en niets gepost B-) maar snap het jammer genoeg nog steeds niet.

op de manier van dusty moet ik bijvoorbeeld een boardadmin alle rechten verlenen oftewel dat kunnen wel 100 colums in me db worden als ik dat goed begrijp.

Ik hoop op duidelijke antwoorden, zoals mijn postings vaag zijn ;)

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
ik heb tot nu toe altijd nog gebruik gemaakt van zoiets:
sluiten=1
sticky=2
editten=4

en dat dan zo optellen zeg maar...
beetje vage uitleg, maar jij bent 'n meester in vage posts :P

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op dinsdag 18 juni 2002 23:22 schreef Flat© het volgende:
ik heb tot nu toe altijd nog gebruik gemaakt van zoiets:
sluiten=1
sticky=2
editten=4

en dat dan zo optellen zeg maar...
beetje vage uitleg, maar jij bent 'n meester in vage posts :P
Binaire optelling om het zo even te noemen :)

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
ja idd :)
ik ben 'n beetje wazig geworden na zo'n 40 uur zonder slaap
(en * flat in combinatie met topics van xtentic... tja kweenie...)

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

Als 1001101100110101011001 lijkt me het makkelijkst.

Acties:
  • 0 Henk 'm!

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

wat ik doe eigenlijk is wat makkelijker, alleen het uitzoeken duurde lang :P

ik draai dus vbulletin op mijn website, daar zitten al die functies al ingebouwd.. MAAR > dat kan ej neit zomaar op je site zetten..
het mooie is dat vbulletin een simpele database heeft en een makkelijk cookie gebruik.. die cookie is wel goed beveiligd met md5 en we hebben daar eigen scripts omheen gebouwd. MAKKELIJK!, want je hoeft nergends meer username en password te editten.. hij controlleer je rechten in de db, en niet in het cookie zelf, dat is dus heel veilig.
je kan met een 10 regel scriptje je rechten controleren.

works for me iig :)

Ontwikkelaar van NPM library Gleamy


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Flat; Dat is idd erg handig ik gebruik zulke rechten ook al bij me babes site waar het forum aanvast zit :) Dus datgene ook gewoon ff per fora aan een user knopen ofzo?

dus

1 = post in fora
2 = edit own post
4 = view fora
8 etc etc

:?

[i]Tnx, /me likes to be a bit vage not a master :+[/i]

gitaarwerk; Ik probeer dus een soortement forum te gebruiken die met de users van me eigensite werkt, dat vind ik persoonlijk makkelijker en leuker (om het zelf te doen)

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

[..]
dit was een post van dusty, mischien dat iemand me dit verder kan uitleggen.
[..]
Ik kan het verder uitleggen.

Deze methode werkt ook als je gaat bitneuken hoewel het in mijn mening erg dom is, immers 10.000 keer gaan AND-en kost meer tijd dan 100.000 keer kijken of een waarde gelijk is.(als je netjes je index correct hebt, en ja daar zit het hem in.)

Je hebt een webboard.

-webboard-
webboardid
webboardnaam
webboardtype

nou wil je 3 soorten rechten toevoegen. Moderate, Banned, Read hiervoor maak je inderdaad 3 kolommen aan (1 per recht)

dus krijg je een tabel zoals:
-webboardid-
webboardid
webboardnaam
webboardtype
webrecht_moderate
webrecht_banned
webrecht_read

Als je nu een nieuwe webboard toevoegt (insert statement) kan je gaan bepalen welke rechten personen moeten hebben om de nieuwe webboard te gebruiken e.d. Dit kunnen de rechten zijn van een andere webboard (als de settings exact hetzelfde moeten zijn) het kan ook zijn dat je daar andere moderators wilt hebben, dus dan verander je de id van de webrecht_moderate.

Alle rechten hou je bij in een aparte tabel bijvoorbeeld
-rechten-
rechten_id
rechten_naam

zodra een nieuwe recht wordt aangemaakt stop je hier de id van in en je geeft het een naam, hierdoor kan je makkelijk een interface gaan bouwen waarbij je deze dynamisch kan opbouwen afhankelijk van welke rechten er allemaal bestaan. (dus hoef je later niets in je code te gaan veranderen!)

Je kan zeggen dat de standaard recht van iedereen id 0 is. waardoor als je iets de rechten_id 0 geeft dat ze dat altijd hebben.

Daarna hou je alle rechten van de mensen in een aparte tabel bij:

-userrechten-
userid
rechten_id

Hierdoor kan je dus met een query opvragen wie wat mag doen (en wie wat niet)
op de manier van dusty moet ik bijvoorbeeld een boardadmin alle rechten verlenen oftewel dat kunnen wel 100 colums in me db worden als ik dat goed begrijp.
Ik zou ten eerste nooit alle rechten verlenen, immers zit gebanned worden van een specifieke webboard daar ook tussen :P

Je hebt voor zover gelijk dat je elke recht ergens in een tabel moet onderbrengen als een colom ( maar niet alle rechten als een kolom in een tabel :+ )

Dit is makkelijk te verantwoorden omdat je dan niet meer afhankelijk bent van een specifieke ID in je programmatuur maar je laat deze oplossen door de database, waardoor dus je hele systeem flexibeler wordt.

Ik zal misschien later nog even een verhaal typen waarom bitneuken erg onverstandig is en in heel veel gevallen zelfs langzamer dan gewoon het id apart opslaan in een database, is misschien wel erg nodig aangezien er hier nog steeds mensen zijn die overtuigt zijn dat bitneuken veel sneller is. ( Die mensen mogen trouwens beginnen met te denken hoe indexen precies werken )

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
*leest en onthoudt*
interessante en heldere lap tekst dusty!
je bent 'n engel :)

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

dusty, wordt je database her niet gigantisch groot van? Als je gaat 'bitneuken' lijkt het me dat het veel kleiner wordt. Als je dan ook nog eens de hele rechten tabel eruit gooit en de rechten value (bitcombo) in de user tabel gooit ben je weer een hele tabel kwijt. 8-).

Of is dit dom gedacht? :?.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Je database wordt inderdaad groter, echter staat nergens geschreven dat een grotere database slechter is.

Minder tabellen is meestal duidelijker, echter betekent dat niet dat het altijd beter is om minder tabellen te hebben, uit performance oogpunt is het soms zelfs bevoordelijk.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
Nu dusty ons wat heeft verteld over forumrechten weten we gelijk hoe zijn forum omgaat met rechten :Y)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik begrijp het gedeeltelijk, het is inderdaad handiger om niet te gaan bitneuken anders moet je iedere keer gaan checken of een user iets mag, mja dat moet je toch zo ie zo voor iedere handeling?..

Verder weet en snap ik nog niet helemaal hoe ik dit in de praktijk moet gaan doen maar daar zal ik gewoon spelendergewijs uitmoeten komen, ik hoop dat dat gaat lukken..

Dusty tnx voor je uitleg al vat ik er niet echt heel veel meer van het heeft hopelijk wel iets geholpen! :) vele malen bedankt :)

Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
if($bla & 8)

... en let op! 1 &-teken!

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

* chem heeft iets heel anders :D

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Ik doe m'n best, maar ik snap dusty's post niet echt.
Je wilt per user aangeven of hij/zij in een webboard mag lezen, modereren of er uit is verbannen toch?

Waarom volstaat het volgens jou dan om de tabel met beschikbare webboards uit te breiden met 3 kolommen?

Bedoel je eigenlijk niet meer dat je i.p.v.
dus krijg je een tabel zoals:
-webboardid-
webboardid
webboardnaam
webboardtype
webrecht_moderate
webrecht_banned
webrecht_read
dit krijgt:

webboardid
userid
webrecht_moderate
webrecht_banned
webrecht_read

?
Dusty's lap tekst vermeld:
Dit kunnen de rechten zijn van een andere webboard (als de settings exact hetzelfde moeten zijn) het kan ook zijn dat je daar andere moderators wilt hebben, dus dan verander je de id van de webrecht_moderate.
Hoe wordt in jouw tabelstructuur nou vanuit een nieuw webboard verwezen naar de rechten-set van een bestaand webboard?

|_____vakje______|


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op woensdag 19 juni 2002 20:10 schreef CyberSnooP het volgende:
.....snip.....
Dit begreep ik verder ook niet echt, ik denk dat het rechten systeem in mijn geval het beste te gebruiken is voor bepaalde users die meer dingen mogen dan standaard gebruikers :)

dus een rechten tabel en het werken met bits :)

Acties:
  • 0 Henk 'm!

Verwijderd

Kan iemand me vertellen hoe de rechten in Topix zijn geregeld? Gewoon uit interrese.

Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Op woensdag 19 juni 2002 21:19 schreef int het volgende:
Kan iemand me vertellen hoe de rechten in Topix zijn geregeld? Gewoon uit interrese.
Ik gok: Slecht, niet structureel (zo zijn de namen van de modjes op de index gewoon handmatig ingetikt, en hier en daar afgekort) en het werkt vanwege het bestaan van 'toeval'..
Topix = liev :)

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op woensdag 19 juni 2002 20:10 schreef CyberSnooP het volgende:
Ik doe m'n best, maar ik snap dusty's post niet echt.
Je wilt per user aangeven of hij/zij in een webboard mag lezen, modereren of er uit is verbannen toch?

Waarom volstaat het volgens jou dan om de tabel met beschikbare webboards uit te breiden met 3 kolommen?

Bedoel je eigenlijk niet meer dat je i.p.v.
[..]

dit krijgt:

webboardid
userid
webrecht_moderate
webrecht_banned
webrecht_read

?
Nee :)
[..]

Hoe wordt in jouw tabelstructuur nou vanuit een nieuw webboard verwezen naar de rechten-set van een bestaand webboard?
Doordat je de ID aan de webboard zelf hangt (in dezelfde tabel waar je je webboard definieert, zoals omschrijving) Geef je aan welke rechtenID bij welke rechten precies horen.

Bijvoorbeeld Om te modereren heb je dan de rechtenID 16.

Als je dan in je rechten tabel ( tabel met alleen userID en RechtenID ) de user tegenkomt met de rechtenID 16 erin mag die gebruiker dus modereren over het webboard.

Dit geldt voor alle andere rechten hetzelfde. Als je dus je webboard tabel zo uitbereid dat lezen een recht is, reageren een recht, en een nieuwe reactie maken ook een recht kan je dus zorgen voor elke willekeurige webboard dat ze alleen mogen lezen en niet reageren of een nieuwe thread maken, je kan het zelfs zo maken dat ze dan wel een thread mogen maken maar niet reageren ( Hallo SeM :P ) En dat kan je dan dus allemaal regelen vanuit je interface zonder je code te hoeven aanpassen :)

Je zorgt in de code een keer ervoor dat als een ID 0 is dat dat ALTIJD geldig is voor de gebruiker. (ie. bij het aanmaken van de database kan je automatisch een 0 toevoegen aan de rechten tabel voor de gebruiker, of je kan zeggen in je code dat een recht 0 moet zijn of de gebruiker de recht moet hebben.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Op woensdag 19 juni 2002 20:05 schreef chem het volgende:
* chem heeft iets heel anders :D
Als je nou ook nog even vertelde hoe je het deed. :P.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op woensdag 19 juni 2002 20:10 schreef CyberSnooP het volgende:
Hoe wordt in jouw tabelstructuur nou vanuit een nieuw webboard verwezen naar de rechten-set van een bestaand webboard?
Even een voorbeeldje:

-Webboard_table
WebboardID (a)
WebboardName (b)
WebboardModerator (c)
WebboardReply (d)
WebboardRead (e)
WebboardStart (f)
WebboardBanned (g)

-UserRechten
UserID (aa)
RechtenID (ab)

Inhoud tabel webboard_table:
code:
1
2
3
4
(a) | (b) | (c) | (d) | (e) | (f) | (g)
   1| aap |    1|    0|    0|    0| 661
   2| noot|    2|    5|    0|    5| 662
   3| mies|    3|    4|    4|    4| 666

0 betekent dat het open is voor iedereen, dus standaard heeft iedereen recht 0, unrevokable (in code)

Inhoud tabel UserRechten:
code:
1
2
3
4
5
6
7
8
9
10
11
(aa) | (ab)
   1 |   1   
   1 |   2    
   1 |   3    
   1 |   4    
   1 |   5    
   2 | 661    
   2 |   2    
   2 |   5    
   3 | 662    
   4 | 666

Gevolg is dus dat gebruiker 1 toegang heeft tot alle fora.
Gebruiker 2 is gebanned uit webboard "aap" echter is hij wel de moderator voor webboard "noot" (daar mag hij modereren en nieuwe threads starten, wat normale gebruikers dus niet mogen, die mogen alleen lezen en reageren)
Gebruiker 3 is gebanned uit "noot".
Gebruiker 4 is vreemd aangezien hij gebanned is uit "mies" terwijl hij geen rechten heeft om het al te lezen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:D Dusty dit keer moet ik toegeven dat ik het helemaal snap *D Tnx!... ik ga met het idee spelen :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dusty ik zie nu dat je 0,1,2,3,4,5 gebruikt zou je daar uitleg over kunnen geven, ik probeerde een start te maken maar dat mislukte een beetje ;)

Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Op donderdag 20 juni 2002 22:05 schreef xtentic het volgende:
Dusty ik zie nu dat je 0,1,2,3,4,5 gebruikt zou je daar uitleg over kunnen geven, ik probeerde een start te maken maar dat mislukte een beetje ;)
Zelfs ik snap het nu, dusss..
Een alternatieve uitleg van Dusty's methode:

Je geeft de combinatie van een object en een handeling een recht-nummer. Een user mag de handeling op het object alleen uitvoeren als dat recht-nummer aan die user is gekoppeld.

Voorbeeld:
Posten in het webboard Onzin geef je nummer 2
Modereren in het webboard Onzin geef je nummer 3.
Een gebruiker Pietje mag posten in Onzin, een andere gebruiker Henk mag modereren en mag posten.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Tabel: Webboards
Naam - Recht_Posten - Recht_Modereren
Onzin - 2 - 3

Tabel: Gebruikers
Id - Naam
1 - Pietje
2 - Henk

Tabel: GebruikersRechten
GebruikerId - GebruikerRecht
1 - 2
2 - 2
2 - 3

Dit kun je uitbreiden door bijvoorbeeld een recht met nummer 0 in te voeren wat standaard iedereen heeft (dat scheelt rijen in de tabel GebruikersRechten) en dan kun je bijvoorbeeld Recht_Posten een 0 geven zodat iedereen mag posten, etc..

Wat nu het aardige van deze methode is dat je dus verschillende combinaties van object&handeling (dus bijv. Huiskamer en TopicTrashen) dezelfde nummers kan geven. Iedereen die gebanned is in Stuffis Generalis is ook gebanned (als je 'gebanned zijn' als handeling ziet) in de Huiskamer als je voor beide rijen het veld Recht_Gebanned het nummer 7 geeft bijvoorbeeld.

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op donderdag 20 juni 2002 22:15 schreef CyberSnooP het volgende:
[..]
Een alternatieve uitleg van Dusty's methode:
[..]
*klap klap klap*

Je begrijpt het inderdaad :Y)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Op donderdag 20 juni 2002 22:39 schreef dusty het volgende:
*klap klap klap*

Je begrijpt het inderdaad :Y)
't lag ook gewoon aan jouw kromme uitleg :P

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op donderdag 20 juni 2002 22:40 schreef CyberSnooP het volgende:
[..]
't lag ook gewoon aan jouw kromme uitleg :P
Blijkbaar niet krom genoeg ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dus als ik het dan nogmaals goed begrijp heb je voor bv meerdere forum's meerdere nummers nodig

forum - posten - reply - admin
bla - 1 - 2 - 3
kix - 4 - 5 - 6
nix - 7 - 8 - 9

:?...... :'( ik ben idd sloom van begrip :{

Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Op donderdag 20 juni 2002 23:15 schreef xtentic het volgende:
dus als ik het dan nogmaals goed begrijp heb je voor bv meerdere forum's meerdere nummers nodig

forum - posten - reply - admin
bla - 1 - 2 - 3
kix - 4 - 5 - 6
nix - 7 - 8 - 9
Niks moet.. Maar als je voor zowel bla, kix als nix apart wilt bepalen wie er mag posten, replien en adminnen wel.

Je moet sowieso niks, want echt heeeel erg enthousiast over het dusty-rechten-model ben ik niet, maar het is een mogelijkheid.
:?...... :'( ik ben idd sloom van begrip :{
Nie huile.. Programmeren is leuk :)

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 16-09 15:37
je kan toch ook per forum een veld admin, mod, lite mod maken? en daar de user id's in gooien van de users die die rechten hebben?

Misschien staat dit al ergens in dit topic maar dan wel anders uitgelegd :P

-forum-
naam: Test forum
mods: 1,7,4,9
admins: 2,5,16
lmods: 3,6

Dus als iemand amdin is is i automatisch ook al lite mod en gewoone mod. dus dat hoef je niet nog een keer op te geven. Gewoone users kunnen dus gewoon overal hun dingen doen.

Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
je zou ook iets van groepen kunnen aanmaken, bv:
tabelletje groepen met daarin algemene rechten en bv nog een tabelletje groep_fora met daarin de rechten van een bepaald forum per groep. :)
(ik hoop dat het een beetje duidelijk is wak zeg :P)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dus bij dusty's ontwerp is

0 - alle users
2 - by speciale users
3 - nog specialere users
4 - etc

en 661 is dan voor de admin, maar dat wil wel betekenen dat je niet meer dan 660+ fora's mag hebben :? toch :D

Acties:
  • 0 Henk 'm!

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 17-09 19:09

LauPro

Prof Mierenneuke®

Het zou misschien sneller zijn, maar het kost je veel rekenwerk om dit te realiseren. Ik zou gebruik maken van (wat geloof ik 'bitneuken' heet'):

1 2 4 ect

En dan is 6 dus bijvoorbeeld recht 2 + 4. (met 'mod')

Zo kan je heel gemakkelijk extra rechten maken e.d. Alleen kan je niet te hoog gaan want anders worden de getallen te lang/hoog.

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op zaterdag 22 juni 2002 08:23 schreef xtentic het volgende:
Dus bij dusty's ontwerp is

0 - alle users
2 - by speciale users
3 - nog specialere users
4 - etc

en 661 is dan voor de admin, maar dat wil wel betekenen dat je niet meer dan 660+ fora's mag hebben :? toch :D
Nope, een hogere nummer betekent helemaal niet een hoger recht.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op zaterdag 22 juni 2002 11:56 schreef LauPro het volgende:
Het zou misschien sneller zijn, maar het kost je veel rekenwerk om dit te realiseren. Ik zou gebruik maken van (wat geloof ik 'bitneuken' heet'):

1 2 4 ect

En dan is 6 dus bijvoorbeeld recht 2 + 4. (met 'mod')

Zo kan je heel gemakkelijk extra rechten maken e.d. Alleen kan je niet te hoog gaan want anders worden de getallen te lang/hoog.
Ja dat heet bitneuken.

Kan jij eens proberen uit te leggen waarom "mijn" methode veel rekenwerk vereist om dit te realiseren?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op zaterdag 22 juni 2002 11:58 schreef dusty het volgende:

[..]

Nope, een hogere nummer betekent helemaal niet een hoger recht.
't is net wat je aan dat nummer koppelt :D of zit ik daar niet goed mee :D

Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

Sorry voor de zinloze post, maar dit is nou echt een interessant topic. Lees het met plezier :)

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Op zaterdag 22 juni 2002 14:51 schreef xtentic het volgende:
't is net wat je aan dat nummer koppelt :D of zit ik daar niet goed mee :D
Exactly, wat dusty beschrijft is ook uitsluitend het idee. Het ligt echt helemaal aan jou implementatie wat er gebeurt bij het wel/niet hebben van een recht. Ik vermoed dat dusty ook alleen een hoger nummer had gekozen om zo de nummering een beetje logisch te kunnen houden. Met een mooie (web)interface houd je die nummers zelfs helemaal verborgen voor de eindgebruiker en kun je lekker serieel doornummeren.

Het lijkt me overigens nog wel een uitdaging om hiervoor een overzichtelijk en volledig functioneel admin-systeem voor te maken.

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Zodra je een nieuw recht erbij maakt, laat je de administrator een naam opgeven, deze sla je op in een aparte tabel ( rights ) met de right_ID en de Description.

doe een select right_id, description op dat tabel en je hebt alle mogelijke rechten die je aan een persoon kan geven, De rest is peanuts ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tis niet easy mja dat vind ik nooit :+ maar'k ga der mee aan de gang :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
  id  index_id  name  subject  rights_reply  right_read  right_start  right_banned  right_admin  
1 1 ChitChat ChitChat about everything 0 0 0 6661 10001 
2 1 News Chat about the latestnews 0 0 0 6662 10002 
3 2 Celebrities Check thiz out 0 0 0 6663 10003 
4 4 Feed It Back to us  0 0 0 6664 10004 
6 5 Admin hidden fora.   10 10 10 6666 10006

Lijkt dit goed :? B-)

uitleg, omdat ik me fora ook strax wil spreaden gebruik ik nu 666 + fora nummer voor bannen. En voor de admins per forum 1000 + fora nummer om zo de admin te maken :) lijkt me makkelijker :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dusty hoe check jij voor iedere forum rechten?

doe je het zo?

if (getRight($userright, $forum['admin_read']) == TRUE && getRight($userright, $forum['admin_post'] == etc etc etc :? of hoe fix je dat?

Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 16-09 19:01

Tux

Nu het toch over een forum maken gaat... hoe pak ik het aantal posts en topics laten zien per forum aan zonder al te veel query's.

En wat is een fatsoenlijk aantal query's wat ik kan uitvoeren per pagina?

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Micro vraagje mbt het implementeren van me rechten! B-)

ik krijg een error :{

dit is mijn rechten tabel
code:
1
2
3
4
5
6
7
8
9
       user_id  right  
Edit  Delete  1 10001 
Edit  Delete  1 10002 
Edit  Delete  1 10003 
Edit  Delete  1 10006 
Edit  Delete  5 10004 
Edit  Delete  1 10 
Edit  Delete  2 10001 
Edit  Delete  2 10002

en dan doe ik deze query

SELECT * FROM galleryforumrights WHERE user_id=0 AND right=10 en dan krijg ik een error :? maar snap niet waarom :D

beiden zijn int(11) :? wie weet waar't zit :D

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien een hele stomme suggestie, maar moet de query niet zo zijn?

SELECT * FROM galleryforumrights WHERE user_id='0' AND right='10'

Zal wel niet...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-edit ik heb het al gevonden edit-

MySQL ondersteund geen naam zoals 'right' :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nog een vraag, hoe komen jullie er achter of een bepaalde user user, mod, globalmod, admin, whatever is?... hoe is dat bepaald?

Dusty nogmaals dank, mijn forum werkt nu ook super met de rechten *D

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op zaterdag 22 juni 2002 22:52 schreef xtentic het volgende:
-edit ik heb het al gevonden edit-

MySQL ondersteund geen naam zoals 'right' :)
netzoals 'left' is het een gereserveerd woord. ( vandaar dat ik meestal right_id gebruik :P )

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op zaterdag 22 juni 2002 19:33 schreef xtentic het volgende:
Dusty hoe check jij voor iedere forum rechten?

doe je het zo?

if (getRight($userright, $forum['admin_read']) == TRUE && getRight($userright, $forum['admin_post'] == etc etc etc :? of hoe fix je dat?
Ik gooi alle rechten_ID's van de gebruiker in een array bij het ophalen van de gegevens van die gebruiker.

Dus als rechten getal in de array zit heeft hij de rechten :)

Andere gedeeltes zoals toegang tot het forum etc. is echter gewoon netjes in een query gedaan. Maarja, sommige dingen kan je eenmaal (nog) niet doen in MySQL he :Y)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Joror
  • Registratie: Augustus 2001
  • Laatst online: 11-03-2017

Joror

the eternal lurker

Op zaterdag 22 juni 2002 22:52 schreef xtentic het volgende:
-edit ik heb het al gevonden edit-

MySQL ondersteund geen naam zoals 'right' :)
Nou wel als je er back-quotes (of hoe heten die dingen naast de 1) eromheen zet zoals :
code:
1
SELECT `right`.`key` FROM `right` WHERE `right`.type = 'delete';

nada aka zilch, formerly known as zip


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op zondag 23 juni 2002 21:40 schreef dusty het volgende:

[..]

netzoals 'left' is het een gereserveerd woord. ( vandaar dat ik meestal right_id gebruik :P )
dat gebruik ik dus nu ook *D
Op zondag 23 juni 2002 21:48 schreef dusty het volgende:

[..]

Ik gooi alle rechten_ID's van de gebruiker in een array bij het ophalen van de gegevens van die gebruiker.

Dus als rechten getal in de array zit heeft hij de rechten :)

Andere gedeeltes zoals toegang tot het forum etc. is echter gewoon netjes in een query gedaan. Maarja, sommige dingen kan je eenmaal (nog) niet doen in MySQL he :Y)
Hmmz, dat doe ik weer niet, ik vraag het gewoon per keer op en geef een TRUE in geval van gevonden, TRUE in het geval wanneer $right 0 is en FALSE wanneer $right geen 0 is en er nix in de database is gevonden :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 02:52 schreef Joror het volgende:

[..]

Nou wel als je er back-quotes (of hoe heten die dingen naast de 1) eromheen zet zoals :
code:
1
SELECT `right`.`key` FROM `right` WHERE `right`.type = 'delete';
Waar een wil is is een weg :+

Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
Ik gebruik rechtensetjes voor lezen, new topic maken, posten en posten op eigen topics. Die zijn gekoppeld per groep, waar in die groepen ook staat of mensen admin of useradmin zijn.

Tenslotte zijn mods bij mij afzonderlijk geregeld in een aparte tabel.

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 juni 2002 07:10 schreef ddc het volgende:
Tenslotte zijn mods bij mij afzonderlijk geregeld in een aparte tabel.
:?

CREATE TABLE rights (
id smallint(3) NOT NULL auto_increment,
name varchar(20) NOT NULL default '',
NotesAdmin enum('Y','N') NOT NULL default 'N',
RightsAdmin enum('Y','N') NOT NULL default 'N',
TypesAdmin enum('Y','N') NOT NULL default 'N',
UserAdmin enum('Y','N') NOT NULL default 'N',
PRIMARY KEY (id)
) TYPE=MyISAM;

INSERT INTO rights VALUES (1, 'Adminuser', 'Y', 'Y', 'Y', 'Y');
INSERT INTO rights VALUES (2, 'Looser', 'N', 'N', 'N', 'N');
-------------
CREATE TABLE grouprights (
groupid smallint(2) NOT NULL default '0',
typesid smallint(2) NOT NULL default '0',
mayread enum('Y','N') NOT NULL default 'Y',
maypost enum('Y','N') NOT NULL default 'N',
mayreply enum('Y','N') NOT NULL default 'Y',
maysubmit enum('Y','N') NOT NULL default 'N',
QueuEditor enum('Y','N') NOT NULL default 'N',
CloseAndFaq enum('Y','N') NOT NULL default 'N',
TeaserMaker enum('Y','N') NOT NULL default 'Y'
) TYPE=MyISAM;

INSERT INTO grouprights VALUES (1, 1, 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y');
INSERT INTO grouprights VALUES (2, 1, 'Y', 'N', 'N', 'N', 'N', 'N', 'Y');
INSERT INTO grouprights VALUES (1, 2, 'Y', 'N', 'N', 'Y', 'N', 'N', 'N');
-----------------
En dan in de usertable een veld met rightid :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
En wat is nu de beste manier? die van Dusty of een andere methode? om ook mods/admin/eliteadmins etc te hebben :?

Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
Zou je niet je database eens optimaliseren Nielsz ?
Die enum :r is niet bepaald efficient hè..

Je kunt beter gewoon bitsets gebruiken, veel sneller uiteindelijk.

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 juni 2002 11:43 schreef ddc het volgende:
Zou je niet je database eens optimaliseren Nielsz ?
Die enum :r is niet bepaald efficient hè..

Je kunt beter gewoon bitsets gebruiken, veel sneller uiteindelijk.
Ach, it does the trick. En dit is maar de light versie ;)
(verder nog problemen ermee?)

Acties:
  • 0 Henk 'm!

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01 11:31
Op maandag 24 juni 2002 11:43 schreef ddc het volgende:
enum <-> bitsets
ik vraag me af hoe die enum geimplementeerd is :)

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 juni 2002 11:58 schreef brammetje het volgende:

[..]

ik vraag me af hoe die enum geimplementeerd is :)
Dat heb je tegen mij neem ik aan?
Wat bedoel je precies?

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op maandag 24 juni 2002 02:52 schreef Joror het volgende:
[..]
Nou wel als je er back-quotes (of hoe heten die dingen naast de 1) eromheen zet zoals :
code:
1
SELECT `right`.`key` FROM `right` WHERE `right`.type = 'delete';
Nooit maar dan ook nooit doen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 12:18 schreef dusty het volgende:

[..]

Nooit maar dan ook nooit doen.
idd :P foei :+, dat wist ik zelfs ;) maaruh Dusty hoe lees jij uit of een mod een mod is en een admin een admin etc? Ik neem aan dat dat ook een mogelijkheid is met de rechten?

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op maandag 24 juni 2002 06:34 schreef xtentic het volgende:
[..]
Hmmz, dat doe ik weer niet, ik vraag het gewoon per keer op en geef een TRUE in geval van gevonden, TRUE in het geval wanneer $right 0 is en FALSE wanneer $right geen 0 is en er nix in de database is gevonden :)
Dat zou ik doen als MySQL dus subqueries zou ondersteunen, dan zou ik met het opvragen van de webboard die true/false mee teruggeven, Maarja, MYSQL heeft geen subqueries, dus kan ik het niet in een query doen :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 12:22 schreef dusty het volgende:
Dat zou ik doen als MySQL dus subqueries zou ondersteunen, dan zou ik met het opvragen van de webboard die true/false mee teruggeven, Maarja, MYSQL heeft geen subqueries, dus kan ik het niet in een query doen :)
tja voor mijn part wordt het nog een query, maar zou eens willen weten hoe tha master dat dan toch zou doen als ie dat voor elkaar zou willen krijgen ;)

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 juni 2002 12:20 schreef xtentic het volgende:

[..]

idd :P foei :+, dat wist ik zelfs ;) maaruh Dusty hoe lees jij uit of een mod een mod is en een admin een admin etc? Ik neem aan dat dat ook een mogelijkheid is met de rechten?
En mod of een admin is niets meer, en niets minder dan een gebruiker met een 'titel' en wat anders gespecificeerde rechten dan een 'gewone' gebruiker

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 12:23 schreef Nielsz het volgende:

[..]

En mod of een admin is niets meer, en niets minder dan een gebruiker met een 'titel' en wat anders gespecificeerde rechten dan een 'gewone' gebruiker
titel is gekoppeld aan rechten neem ik aan :) dus dan is het anders dan een titel met extra rechten ;)

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 juni 2002 12:24 schreef xtentic het volgende:

[..]

titel is gekoppeld aan rechten neem ik aan :) dus dan is het anders dan een titel met extra rechten ;)
Niet perse.
Je kan een titel aan rechten hangen, of aan een gebruiker, of allebei, waardoor de gebruikerstitel de groepstitel overschrijft.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 12:25 schreef Nielsz het volgende:

[..]

Niet perse.
Je kan een titel aan rechten hangen, of aan een gebruiker, of allebei, waardoor de gebruikerstitel de groepstitel overschrijft.
Tuurlijk, dat is ook een mogelijkheid maar als je dan de rechten verwijderd van een user en je vergeet de titel is ie volgens de titel nogsteeds admin :+ ik heb liever iets dmv een koppeling aan de rechten ofzo :)

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 juni 2002 12:26 schreef xtentic het volgende:

[..]

Tuurlijk, dat is ook een mogelijkheid maar als je dan de rechten verwijderd van een user en je vergeet de titel is ie volgens de titel nogsteeds admin :+ ik heb liever iets dmv een koppeling aan de rechten ofzo :)
Tuurlijk, maar een titel hoeft niet perse direct te maken te hebben met de rechten. Op JavaHova ben ik bijvoorbeeld een 'prutser!' :7

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op maandag 24 juni 2002 12:20 schreef xtentic het volgende:
[..]
idd :P foei :+, dat wist ik zelfs ;) maaruh Dusty hoe lees jij uit of een mod een mod is en een admin een admin etc? Ik neem aan dat dat ook een mogelijkheid is met de rechten?
Zoals Recht_ID=0 geldt voor iedereen (algemeen recht) heb ik Recht_ID=1 voor administrator gemaakt, echter kan hij alleen daarmee de speciale administrator rechten gebruiken, betekent nog steeds dat hij specifiek toegang moet krijgen tot de verschillende fora, dus dat kan ook betekenen dat hij geen toegang heeft tot bepaalde fora :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 12:28 schreef Nielsz het volgende:

[..]

Tuurlijk, maar een titel hoeft niet perse direct te maken te hebben met de rechten. Op JavaHova ben ik bijvoorbeeld een 'prutser!' :7
Owjah, das ook wel humor :P
Op maandag 24 juni 2002 12:29 schreef dusty het volgende:

[..]

Zoals Recht_ID=0 geldt voor iedereen (algemeen recht) heb ik Recht_ID=1 voor administrator gemaakt, echter kan hij alleen daarmee de speciale administrator rechten gebruiken, betekent nog steeds dat hij specifiek toegang moet krijgen tot de verschillende fora, dus dat kan ook betekenen dat hij geen toegang heeft tot bepaalde fora :+
In mijn geval is recht_id=1 voor het uitlezen van niets :P dus kan ik daar idd wel de 'naam' admin aanknopen ;) en zo voorts... tnx 4 het idee :)

Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
xtentic:
titel is gekoppeld aan rechten neem ik aan :) dus dan is het anders dan een titel met extra rechten ;)
Nou nee, want je kan ook een goede combinatie gebruiken.

Acties:
  • 0 Henk 'm!

  • Joror
  • Registratie: Augustus 2001
  • Laatst online: 11-03-2017

Joror

the eternal lurker

Op maandag 24 juni 2002 12:18 schreef dusty het volgende:

[..]

Nooit maar dan ook nooit doen.
Welke reden om het niet te doen is er dan? Behalve dan dat sommige (erg) oude mysql hulp-proggies het niet herkennen, is het gewoon normale query syntax. :)

'Omdat het vroeger niet kon' is geen reden om het nu te verbieden als het wel kan. ;)

nada aka zilch, formerly known as zip


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 12:36 schreef ddc het volgende:
Nou nee, want je kan ook een goede combinatie gebruiken.
Bij deze: verklaar je nader :P voorbeeldjes zijn toegestaan :+

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op maandag 24 juni 2002 12:39 schreef Joror het volgende:
[..]
Welke reden om het niet te doen is er dan? Behalve dan dat sommige (erg) oude mysql hulp-proggies het niet herkennen, is het gewoon normale query syntax. :)
De voornaamste reden omdat de overzichtelijkheid aantast, en als je de query gewoon leest heel snel verward kan raken. Je vergeet de backquotes een keer en je zit een paar uur extra te debuggen, Je schakeld over naar een andere database die backquotes negeert en je hebt weer een migratie probleem.
'Omdat het vroeger niet kon' is geen reden om het nu te verbieden als het wel kan. ;)
Het omgekeerde geldt ook, omdat het nu wel kan betekent nog niet dat het "ok" is om het te gebruiken.

Met jouw redenering zou het ook prima zijn om overal "GLOBAL" variabelen in een programmeertaal te gebruiken.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
xtentic:
Bij deze: verklaar je nader :P voorbeeldjes zijn toegestaan :+
Ik kan rechten koppelen aan groepen, groepen aan titels, groepen aan gebruikers, en op die manier hoef ik titels niet te associëren met groepen, laat staan rechten.

Acties:
  • 0 Henk 'm!

  • Joror
  • Registratie: Augustus 2001
  • Laatst online: 11-03-2017

Joror

the eternal lurker

Op maandag 24 juni 2002 14:49 schreef dusty het volgende:

[..]

De voornaamste reden omdat de overzichtelijkheid aantast, en als je de query gewoon leest heel snel verward kan raken. Je vergeet de backquotes een keer en je zit een paar uur extra te debuggen, Je schakeld over naar een andere database die backquotes negeert en je hebt weer een migratie probleem.
Overzichtelijkheid bevordert het juist ook, backquoteing scheidt juist syntax van naamgeving, wat overzichtelijker is. Enkel vanuit het principe dat SQL ook 'leesbare' tekst moet zijn voor non-professionals kan je ook weer zeggen dat het geheel te technisch wordt.
Voor het geval van backquotes vergeten.. tjsa er zijn wel meer dingen die je als programmeur kan vergeten wat debugtijd vergt, maar ik kan er wel inkomen.
En database migraties.. ik zou bij elke migratie van mysql naar iets anders toch alle queries nog nalopen ja, maar zeker een minpunt.
[..]

Het omgekeerde geldt ook, omdat het nu wel kan betekent nog niet dat het "ok" is om het te gebruiken.

Met jouw redenering zou het ook prima zijn om overal "GLOBAL" variabelen in een programmeertaal te gebruiken.
Niet mijn woorden verdraaien he? ;) Syntax kwesties lijken mij onafhankelijk van scope kwesties, en ik had het wel over syntax kwesties hier.

Begint aardig offtopic te raken hier :P

nada aka zilch, formerly known as zip


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op maandag 24 juni 2002 15:45 schreef ddc het volgende:

[..]

Ik kan rechten koppelen aan groepen, groepen aan titels, groepen aan gebruikers, en op die manier hoef ik titels niet te associëren met groepen, laat staan rechten.
Ik gebruik verder geen groepen voor de rechten, die maak ik aan per user zoals Dusty me het geleerd heeft, ik denk dat ik het gewoon lekker simpel houd en zo'n veldje in de usertable bijzet, lekker gemakkelijk.

Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:30
xtentic:
zoals Dusty me het geleerd heeft
OMG Dusty waar ben je mee bezig?
Dan krijg je zo'n Topix-achtig idee.... 1364 verschillende soorten statussen... :r

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op maandag 24 juni 2002 19:00 schreef ddc het volgende:
[..]
OMG Dusty waar ben je mee bezig?
Dan krijg je zo'n Topix-achtig idee.... 1364 verschillende soorten statussen... :r
Je krijgt er een flexibel idee mee, Maar mijn systeem gaat verder dan ik heb vertelt (uiteraard).

Extra tabel met groepnamen en een tabel met welke rechten die groep heeft.

Dan kan je een interface maken waarbij je de groep kiest en dan alle rechten van die gebruiker verwijderen en dan de rechten toevoegen die die groep heeft.

Zo blijft de "groepen - gebruiker" los van elkaar, Waardoor je de rechten van een persoon kan aanpassen, maar daar tegenover toch snel de rechten goed kan zetten.
je hebt een oneindig aantal statussen, maar het ligt aan de administrator hoeveel hij er creert en welke personen deze statussen krijgen. Qua rechten echter kan je heel makkelijk nagaan wie een bepaald recht heeft.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:? weer een duistere uitleg van Dusty... :D of ik ben gewoon te ziek (jah ik ben echt ziek dit keer) om het te begrijpen :{

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil nu een soortement managment page maken voor mijn rechten en gebruikers, maar hoe moet ik dit fixen?... ik weet nu hoe ik dat alles voor elkaar moet krijgen met phpMyAdmin, maar heb geen idee hoe ik dit moet gaan beheren in mijn site...

Ik had op zich wel een idee, je selecteerd een user --> volgende pagina en geeft dan bep. rechten die aan fora's gekoppeld zijn, maar dan moet je al die rechten wel zien..

Wie heeft een vb / idee van hoe dat in zijn werk gaat (dit is geen script request want vraag niet om code)

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op donderdag 27 juni 2002 12:22 schreef xtentic het volgende:
[..]
Wie heeft een vb / idee van hoe dat in zijn werk gaat (dit is geen script request want vraag niet om code)
Door dusty (Lite-Mod P&W) - zaterdag 22 juni 2002 16:15

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Access
  • Registratie: Juni 2001
  • Laatst online: 14-09 17:22
Dusty, ik heb al je uitleg etc. doorgelezen en in principe werkt het ook. Maar nu heb ik het volgende probleem:

Als iemand een pagina opvraagt wordt er helemaal in het begin v.d. php code gekeken wat de rechten zijn van deze gebruiker op dit forum/board. Dit doe ik door eerst de rechtencode's van een forum op te halen, en daarna hetzelfde voor de rechten van een gebruiker. Daarna ga ik die twee vergelijken, en zo weet ik wat een user wel en niet mag op dit forum.

Hier een stukje van mijn vergelijk code:
PHP:
1
<?for( $i=0; $i<count($ForumRights); $i++ ){    for( $c=0; $c<count($UserRights); $c++ )    {        if($UserRights[$c] == $ForumRights[$i])        {            switch( $ForumRights[$i] )            {                case 1: $READ = 1;                    break;                case 2: $REPLY = 1;                    break;                case 3: $SPECIAL_READ = 1;                    break;                case 4: $SPECIAL_REPLY = 1;                    break;            }        }    }?>

Verderop in m'n code evalueer ik dan de waarde van b.v. $REPLY, als deze 1 is dan laat ik een 'reply' knopje zien.
Nou is mijn vraag, doen jullie het op een soortgelijke manier, of totaal anders :? ?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 24 juni 2002 16:17 schreef Joror het volgende:
En probeer dan je query es op postgresql uit te voeren...

Of een andere db :)
Dan moet je niet alleen je `` verwijderen, maar waarsch ook je tabelnamen wijzigen.

Erg handig dat backquoten :)
Goede namen bedenken is toch niet zo moelijk?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mag ik suggesties als ik mijn catagories/rechten ed. zo ga beheren? of heeft iemand betere ideeen :D dit is geen site check maar eerder de manier waarop ik het het beste kan beheren / verwerken?

:+ hidden :+

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Op donderdag 27 juni 2002 16:30 schreef Access het volgende:
Nou is mijn vraag, doen jullie het op een soortgelijke manier, of totaal anders :? ?
Ik doe het in principe anders.

Ik haal alle rechten van de gebruiker op (bij elke pagina) gewoon via een algemene functie (algemene include bestand, met alle "standaard" functies die nodig zijn in een pagina)

Ik haal de recht op van de pagina ( bijvoorbeeld van een bepaald forum) Daarna gebruik ik de IN functie van PHP om te kijken of een bepaald nummer in de array voorkomt (immers is dat een stuk sneller dan zelf elke waarde in de array doorlopen en dan te vergelijken met het recht dat gecontroleerd word.)

Resultaten gooi ik in een andere array die weer door mijn template parser gebruikt wordt om te bepalen of er iets wel of niet getoont mag worden (zoals een reply button)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1