Rechten ideen gezocht

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Jan R

Jan R

25/11/2022 09:12:59
Quote Anchor link
Hi

Ik heb een goed werkend rechten systeem
Afbeelding
Tabellen functies, taken en koppeltabel

Eenzelfde systeem gebruik ik ook voor de functies te koppellen aan de bestuursleden, andere tabellen.

Echter mijn probleem is nu dat ik bepaalde functies zoals "maak/bewerk club", local, ea niet wil in de lijst om te bewerken.

Hoe zouden jullie het doen?
  • Extra lijst
  • Hardcodes
  • Verborgen(niet goed)
  • ???
Gewijzigd op 25/11/2022 09:15:38 door Jan R
 
PHP hulp

PHP hulp

22/12/2024 10:06:56
 
Rob Doemaarwat

Rob Doemaarwat

25/11/2022 10:10:36
Quote Anchor link
Dan moet je rechten aan de rechten hangen: wie mag dit recht toekennen. Als je dat recht (om toe te kennen) niet hebt, mag je het niet toekennen (en zie je het ook niet). De super-admin mag dit dan voor alle rechten, en de rest alleen voor de rechten waar ze toegang tot hebben.
 
- Ariën  -
Beheerder

- Ariën -

25/11/2022 10:39:32
Quote Anchor link
Ikzelf heb een rechtensysteem die werkt op een CRUD-model. Waarbij je rechten hebt voor Create, Read, Update, Delete. (acties). Voor het gemak heb ik ook Publish en Edit_own aan het rijtje toegevoegd.

Alle acties hebben diverse rechten zoals: Nieuws,Pagina's, Video's,Agenda,Gebruikersbeheer etc.

Verder heb ik diverse rollen (News Publisher, Junor News (zonder Publish recht), agendabeheerder) die in de database staan. Deze staan gekoppeld aan de rechten. Voor de rest is alles overervend zodat ik een gebruiker meerdere rollen kan toekennen waarbij de rechten opgeteld worden.

Toevoeging op 25/11/2022 11:47:41:

Even een screenshot van mijn rechten-beheerpaneel voor de duidelijkheid.
Afbeelding
Afbeelding
Afbeelding
Gewijzigd op 25/11/2022 12:02:02 door - Ariën -
 
Jan R

Jan R

26/11/2022 08:37:35
Quote Anchor link
Bedankt.

Het zal een combinatie van worden. Nu nog schrijven:)

Crud is niet echt hier van toepassing. Het is alles of niets.

Jan
 
- Ariën  -
Beheerder

- Ariën -

26/11/2022 09:49:36
Quote Anchor link
Als ik zo zie kan je dit wel onderverdelen in een CRUD oplossing. Met name als ik kijk naar het ledenbeheer met toevoegen, wijzigingen en verwijderen.

De rest van de rollen valt minimaal onder Read, maar kan je ook verder de Create, Update en Delete verder uitkristaliseren.
Gewijzigd op 26/11/2022 09:52:21 door - Ariën -
 
Ward van der Put
Moderator

Ward van der Put

26/11/2022 11:56:20
Quote Anchor link
De CRUD-benadering van Ariën volg ik vaak ook, omdat die verschillende voordelen heeft. Niet alleen komen de rechten overeen met database-operaties, maar bovendien kun je ze gemakkelijk implementeren in REST API's én zijn ze heel eenvoudig te formaliseren met kleine integers en binaire waarden met binaire vergelijkingsoperatoren.

De "mapping" van basisrechten ziet er dan bijvoorbeeld zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
| Bin. | CRUD   | REST   |
| ---- | ------ | ------ |
| 0001 | Read   | GET    |
| 0010 | Create | POST   |
| 0100 | Update | PATCH  |
| 1000 | Delete | DELETE |


Bijvoorbeeld binair 11 of decimaal 3 is dan het gecombineerde recht Create + Read en POST + GET. En dat met slechts 4 bits!
 
- Ariën  -
Beheerder

- Ariën -

26/11/2022 12:27:21
Quote Anchor link
Ikzelf gebruik geen bitwise systeem, maar ik sla de rechten in de database op op recht-niveau. De bron voor mijn script is een oude snippet-script wat ik jaren geleden op Gathering of Tweakers tegen kwam, maar prima voldeed aan mijn wensen. Uiteraard heb ik deze uit/omgebouwd om het te verbeteren voor in deze tijd.

Er komt uiteindelijk een prachtige array uit met de juiste rechten.

Eigenlijk zou ik die acties (move, view, edit etc..) en de ActionKind beter willen normaliseren. Maar dat komt nog wel eens.
Gewijzigd op 26/11/2022 12:32:48 door - Ariën -
 

27/11/2022 12:53:26
Quote Anchor link
Jan R op 25/11/2022 09:12:59:
Hoe zouden jullie het doen?


Gewoon een recht maken om de rechten wel of niet te bewerken.
En ik zou het rechten-wiel niet zelf opnieuw uitvinden, dat is veel te omslachtig en zit standaard in de database server.

Je kunt gewoon werken met GRANT, REVOKE, CREATE POLICY (op tabeldata), en SET SESSION AUTHORIZATION (voor als je authenticatie nog zelf wil doen).

En voor wie geen PostGreSQL kan gebruiken: het kan ook in MySQL en MariaDB.
In ieder geval zou ik het niet in PHP doen, tenzij je alles met PHP wilt oplossen en niet de database wilt gebruiken. Of als je vast zit aan een ORM waar je niet onderuit kunt.
Gewijzigd op 27/11/2022 12:53:48 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.