OOP authorisation

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior ETL Developer

Functieomschrijving How does building an entirely cloudbased, open source data warehouse sound to you? As ETL developer at Randstad Groep Nederland IT that is exactly what you will be doing. As the world’s largest HR service provider, the amount of information that passes through our systems every day is vast. Using accurate data to inform our decision making processes and to guide us is therefore an integral part of our strategy. Our Data Insights team are helping us build an entirely new environment between our AWS datalake and Tableau reporting, drastically reducing the number of reports we need. Where our

Bekijk vacature »

iOS developer

Technology never stops evolving and developing. That is continuous learning is crucial, especially for app developers. Your immediate goal is to immerse yourself in the world of app developing and learn as much as possible. Specialised, or multifunctional like a swiss army-knive. For our client we are looking for somebody with exactly this “always be learning” mindset. You posses decent knowledge on Dart but are looking to grow even further. You are going to work on interesting apps for different clients, together with a team of skilled professionals. Together with them you get the chance to develop both apps and

Bekijk vacature »

.Net ontwikkelaars gezocht voor innovatieve oploss

Bedrijfsomschrijving Onze opdrachtgever staat in Nederland bekend als een bedrijf dat zich echt inzet voor een betere wereld. Voor landelijke instellingen wordt er software ontwikkeld die helpt bij het uitvoeren van administratie waar normaal gesproken veel tijd in zit. Deze tijd kan nu besteedt worden aan écht belangrijke dingen, dit allemaal door de software van onze opdrachtgever. Dit bedrijf bestaat inmiddels meer dan 10 jaar en is uitgegroeid tot een middelgroot bedrijf waar verschillende teams werken aan een betere wereld in Nederland. Er heerst hier een informele sfeer waarbij de deuren naar collega’s altijd open staan en er veel focus

Bekijk vacature »

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

Hightech sportieve organisatie zoekt C/C++ Develop

Bedrijfsomschrijving We zijn tegenwoordig al veel meer aan het letten op onze voeding en ook op de hoeveelheid beweging die we krijgen. Dit is een hele vooruitgang als we tien jaar terugkijken, maar is dit genoeg om het optimale uit je leven te halen? Bij mijn klant geloven ze dat elk individu baat heeft bij een gezonde en actieve levensstijl. Daarom is het doel om mensen te helpen met fit worden en fit blijven door volledige indoor trainingsoplossingen aan te bieden. De indoor oplossingen zijn zo ontworpen om de buitentraining zo goed mogelijk na te bootsen zowel qua gevoel als

Bekijk vacature »

Applicatieontwikkelaar

Applicatieontwikkelaar – 0,8 tot 1,0 FTE – Voorburg/Hazerswoude-Dorp Heb jij een passie voor data? Vind je het leuk om samen met de gebruikers te sparren over hun processen? Wil je graag werken binnen een leuke en professionele organisatie, waar je de kans krijgt jezelf te blijven ontwikkelen? Ben jij de ontwikkelaar die Menken Orlando verder gaat helpen bij het informatie gestuurd werken, met de door jou ontwikkelde en onderhouden applicaties? Dan is de functie van applicatieontwikkelaar bij Menken Orlando echt iets voor jou! Als applicatieontwikkelaar kom je te werken in het IT team, waar je veel verantwoordelijkheid krijgt met volop

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Go developer

Functie Het development team is klein en compact. Dit is altijd zo geweest en zal ook altijd zo blijven. Dit betekent dat je heel nauw samenwerkt met je collega’s en de lijnen erg kort zijn. Er wordt voornamelijk geprogrammeerd in GO, PHP, Javascript en Node.js, maar ook zul je zo nu en dan gebruik maken van talen zoals; C en Python. Wij hebben met veel data te maken en dit is momenteel onze grootste uitdaging op de backend. We maken gebruik van ruim 800 servers, waarvan 600 servers gebruikt worden voor dataopslag. Er draaien meerdere microservices op deze servers, maar

Bekijk vacature »

RPA ontwikkelaar

Omschrijving Wil jij als expert op het gebied van robotisering bijdragen aan het efficiënter maken van handmatig uitgevoerde processen bij Rijkswaterstaat (RWS)? Repeterende handelingen die handmatig worden uitgevoerd zijn foutgevoelig en niet uitdagend voor een medewerker om uit te voeren. Gaat jouw bloed sneller stromen van Robotic Process Automation (RPA)? Wellicht ben jij dan onze nieuwe RPA ontwikkelaar, lees snel verder! Hoe jij bijdraagt in jouw rol Robotic Process Automation (RPA) is een opkomende ontwikkeling bij Rijkswaterstaat. Als RPA ontwikkelaar/beheerder ben je samen met de andere leden van het RPA-team verantwoordelijk voor het ontwikkelen en beheren van procesautomatisering bij het

Bekijk vacature »

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 3 april 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »
Synaps Framework

Synaps Framework

30/06/2010 16:50:27
Quote Anchor link
Hallo,

Geen vragen over waar de fout zit, maar gewoon even kijken of ik het bij het rechte eind heb.
Ik ben bezig met een authorisatie classe.
Ik heb de volgende eisen:
- Inloggen
- Registreren -> activatie mail
- Bitewise rechten systeem
- users
- gewone users
- premium users
- administrators

Hoe kan ik dit het beste OOP bouwen, als in, in hoeveel classes moet ik dit opbreken?
 
PHP hulp

PHP hulp

09/02/2023 14:11:03
 
Jelmer -

Jelmer -

30/06/2010 18:12:14
Quote Anchor link
Ik zou gaan voor een globale (statische?) class die hierover gaat. Aan deze class vraag je dan of een bepaalde actie mag voordat je hem uitvoert, en bij deze class meldt je mensen aan, en je stopt er de rechten in.

Ik denk niet dat het handig is om meerdere instanties rond te hebben zweven als het gaat om zo'n class voor rechten, dus ik zou die overkoepelende class een singleton maken. (statisch kan ook, dat is voor kleinere projecten praktischer)

Deze overkoepelende class zal voor de rest van je code je enige aanspreekpunt zijn om te vragen of een gebruiker een bepaalde actie mag uitvoeren.

Die overkoepelende class moet dan een beslissing kunnen maken, en heeft daarvoor nodig wat wie wanneer kan. Ik zou voor een soort insteek-module gaan die dit voor je doet. Die krijgt dan een user-id, een subject-id (het 'iets' wat de actie ondergaat) en de actie. Bijv. user-24 edit post-32. Die geeft dan true of false terug. Je zou eventueel meerdere van dit soort insteek-modules tegelijk kunnen gebruiken, om zo regels die keihard zijn te scheiden van regels die kunnen veranderen. Moet je wel een oplossing vinden voor tegenstrijdige antwoorden (de ene module zegt true, de ander false, wat dan?)

De overkoepelende class wil ook weten of en wie er op dit moment is ingelogd. Vanwege PHP is dat makkelijk, er is maar één iemand per proces ingelogd. Ik zou ook hier (of juist hier) van die modules gebruiken, zodat je meerdere manieren van inloggen zou kunnen maken (denk aan wachtwoord, maar ook openid of oauth) In die module kan je dan ook het registratieproces opnemen, maar daar heeft het controleproces verder niet zoveel mee te maken.

Authorization
+ instance()
- authenticate($method_name, $arguments)
- userCan($user_id, $action, $subject) returns boolean
- currentUserCan($action, $subject) returns boolean
- addAuthenticationMethod($name, AuthenticationMethod $method)
- addAuthorizationModule(AuthorizationModule $module)

AuthenticationMethod
- authenticate($arguments) returns int $user_id

AuthorizationModule
- userCan($user_id, $action, $subject)
 



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.