OOP authorisation

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

iOS Developer

As an iOS Developer you will developing and testing advanced applications for the IOS platform. You will ensure the best possible performance, quality and responsiveness of the iOS application. You will also working on bug fixing, improving the iOS app performance, maintaining code quality, and launch new features for the iOS app. You will collaborate with a thoughtful engineering team. Let's gooo! Functie-eisen Degree in Computer Science or related field 3-5+ years experience in iOS Development using Swift Strong knowledge of design patterns Experience with source control systems, for example Git Experience with RESTful JSON feed consumption Experience with push

Bekijk vacature »

Python Software Developer

Do you have a deep interest in technology and are you able to understand and improve the world around it? Do you want to contribute to the development of innovative software solutions within the high-tech industry? Then join our Technical Applications team and participate in complex projects for the High-tech make industry! Lianne Snellenburg, Team Manager Technical Applications: " I’m looking for a technically oriented Software Engineer with a strong focus on development in Python (2.7 and 3.8). As a Software Engineer in the TA team you work with the total end product in mind. You consult and work closely

Bekijk vacature »

Senior Developer / adviseur (Almelo en thuis)

Functie­omschrijving Wil jij jouw kennis van datagedreven werken, AI en containerisatie inzetten om onze dienstverlening op het gebied van digitaal archiveren en intelligent meta dateren samen met onze scrumteams verder te ontwikkelen? Zie jij vraagstukken niet als een probleem maar krijg je er juist energie van om die te vertalen naar oplossingen, kun je ook beschrijven hoe dat gebouwd moet worden en coach je het team erin om dat te realiseren? Dan komen we graag met jou in contact. Wat ga je doen? Miljoenen records, complexe ketens, uitdagende maatschappijkritische applicaties op het gebied van het bewaren en uitwisselen van digitale

Bekijk vacature »

Senior developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Drupal Developer

Wat wij bieden Werk bij interessante mooie klanten, met veel maatschappelijke impact. Een sterk en hecht team om je heen, dat elkaar helpt bij ieders ontwikkeling. Opleidingsbudget om je verder te ontwikkelen en deze kennis gelijk te kunnen gebruiken bij klanten. Een arbeidsovereenkomst voor onbepaalde tijd. Macbook Pro en telefoon Lease auto of alternatief mobiliteitsbudget Wat jij meeneemt HBO werk- en denkniveau Ervaring met: HTML / CSS Javascript Frameworks als Vue.js en/of React Als je dit bij je hebt is dat een pré: Basiskennis van backend Ervaring met Drupal of Salesforce Composer Twig Storybook GIT De uitdaging Met onze practice

Bekijk vacature »

PHP developer

What will you be doing as a PHP developer? As a PHP developer, you work in a scrum team with sprints of two weeks. You build various web-based applications. You do this in collaboration with your IT and E-commerce colleagues and external partners. Your goal? Be the best B2B platform in the industry. Everything you build is done within the company. This allows you to fully focus on innovations and new developments. In addition to designing and implementing international (web) applications, you develop test cases and proactively come up with improvement proposals regarding the analysis and development process. Your skill

Bekijk vacature »

Medewerker Documentatie- en Informatievoorziening

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Medewerker Documentatie- en Informatievoorziening op onze locatie Weert die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Als documentalist ben je verantwoordelijk voor de documentatie- en informatievoorziening binnen de projecten. Dit houdt concreet in dat je je richt op het verzamelen en documenteren van alle relevante projectdocumentatie volgens een vastgestelde structuur in de systemen

Bekijk vacature »

IT Service Manager System Services

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven IT Service Manager System Services op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Waar ga je werken? Je komt terecht in het team van System Services dat valt binnen de afdeling IT and Facility management (ITF) van TenneT. Hier wordt elke dag in een goede sfeer met zijn allen

Bekijk vacature »

.NET developer

Over deze functie Als .NET developer bouw je mee aan innovatieve dienstverlening en draag jij bij aan de groei van de organisatie. Kenter groeit namelijk hard op het gebied van kwaliteit, professionaliteit en innovatie en is altijd op zoek naar verbeteringen. Zij richten zich op de ontwikkeling van moderne meetoplossingen, ook juist op korte termijn. Zo kunnen zij vooruitlopen op het gebied van IoT, realtime data en andere innovatieve oplossingen. Als .NET developer ben je van onschatbare waarde. Je werkt samen met ruim 20 IT professionals aan zowel greenfield- als legacy-projecten. Dat doe je in samenwerking met ontwikkelaars, data engineers,

Bekijk vacature »

Senior Java developer (backend)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Flutter Developer

As a Flutter Developer you will work in a multidisciplinary Scrum team. You will design and build innovative Flutter apps for our customers. You have experience in developing mobile apps, native Android or iOS. You follow the latest trends in mobile and love a challenge. You will be part of all phases of the Flutter development lifecycle. Don't worry you have to fix bugs only ;-) Functie-eisen 3+ years working in a professional environment You have a bachelors or masters degree in IT 2+ years Android or iOS development. 1+ or more years with Flutter. You are familiar with Git

Bekijk vacature »

Junior .NET developer

Wat wij bieden Je maakt onderdeel uit van ons Young professional programma waarbij we je uitgebreide trainingsmogelijkheden bieden via de Ordina Academy; De mogelijkheid om certificeringen te behalen voor Azure Fundamentals, Azure development en Azure Devops; Een goed salaris dat meegroeit met je ervaring binnen het Young Professional programma; Je komt in een trainingsgroep van meerdere Young Professionals. Samen volg je trainingen, deel je ervaringen, speel je een potje tafelvoetbal en drink je na afloop gezellig een borrel; 20 wettelijke vrije dagen per jaar en 7 aanvullende vrije dagen via flex benefits; Keuze tussen een auto van de zaak of

Bekijk vacature »

Project Manager Asset Data Management (all genders

TenneT is growing fast to realize its strategic ambitions. We play a leading role in driving the energy transition. We are looking for a passionate Project Manager Asset Data Management (all genders) at our location/s Lehrte/Hannover or Arnhem who will contribute to this and that might be you? Your contribution to TenneT As Project Manager Asset Data Management (all genders) at Grid Field Operations Offshore (GFO-O) you help setting the strategic focus of asset data management at GFO-O and help prepare our business unit for growth. You develop concepts and support the implementation of IT-supported processes for asset data management

Bekijk vacature »

Mobile App Developer

Mobile App Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is

Bekijk vacature »

Technisch Ontwikkelaar Chemie

Wat ga je doen Als Technisch Ontwikkelaar Chemie ga je aan de slag op het kwaliteitslaboratorium, en houd jij je bezig met het oplossen van technische vraagstukken en het opzetten van analysemethoden. Je hebt het volgende takenpakket: Het bepalen van technische mogelijkheden van nieuwe analyse aanvragen en adviseren over de uitvoerbaarheid hiervan. Het opstellen en implementeren van nieuwe analysemethoden. Het zelfstandig uitvoeren van routinematige analyses. Het opstellen van nieuwe werkvoorschriften i.o.m. de leidinggevende. Wat vragen wij Van een Technisch Ontwikkelaar Chemie verwachten wij het volgende: Je hebt minimaal hbo werk- en denkniveau, richting analytische chemie. Je hebt minimaal 3-5 jaar

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

10/12/2022 00:39:35
 
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.