Ontwerpen usermanagement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .Net Developer voor geautomatiseerde emailm

Onze klant is een Email Marketing Automation ontwikkelaar voor vele grote klanten in Nederland en België. Met hun marketingsoftware weten zij dagelijks miljoenen mensen te bereiken voor hun klanten. Als Junior .Net Developer van het jonge en informele Innovatie Team breng jij het platform naar een hoger niveau. Je bent hierbij als junior vanaf dag 1 volledig betrokken bij het team. Je bent betrokken de volledige software development life cycle en gaat dan ook mee naar de grote klanten. Terwijl je wordt ingewerkt en dagelijks spart met je 15 gezellige collega’s, werk je aan zowel de front-end als back-end van

Bekijk vacature »

PHP ontwikkelaar / Innovatie / Creativiteit

Functieomschrijving Ben jij de ontwikkelaar die op de hoogte is van de laatste ontwikkelingen en sta jij te springen om de nieuwste tools en technieken toe te passen in jouw werk? Trek dan nu aan de bel! Deze organisatie is al meer dan 20 jaar actief in het verzamelen en doorsturen van grote hoeveelheden data. Dit gebeurt doormiddel van hun zelf ontwikkelde platform die verschillende communicatieoplossingen biedt. Met bijna 600 gebruikers kan je jezelf wel inbeelden hoe groot de hoeveelheid data aan tekst, afbeeldingen en voicerecords is. Om er voor te zorgen dat de applicatie up-to-date, innovatief en vernieuwend is,

Bekijk vacature »

Medior Front-end Developer

Front-end Developer bij Capgemini Bij Capgemini DCX bouwen we niet zomaar webapplicaties en mobiele apps waar onze opdrachtgevers en hun klanten mee overweg kunnen. Nee, we ontwikkelen applicaties voor miljoenen gebruikers en dan ook nog apps waar men écht gelukkig van wordt. Van de medewerkers in de organisatie zelf tot aan de eindgebruikers. En als Front-end Developer ben jij hierbij onmisbaar! De rol Van het bouwen van nieuwe functionaliteiten, het behouden, bewaken en verbeteren van de huidige infrastructuur en applicaties tot aan het ontwikkelen van nieuwe innovaties. Als Front-end Developer ben je de (lead) developer binnen jouw scrumteam en werk

Bekijk vacature »

Medior Microsoft Dynamics Developer

Jouw uitdaging: Ben jij sterk in het succesvol ontwikkelen van maatwerk componenten op het Dynamics platform? En wil je actief meewerken aan de ontwikkeling van ons Digital Customer Experience portfolio? Dan is dit iets voor jou! Voor de Digital Customer Experience afdeling (DCX) zijn we op zoek naar een Medior Microsoft Dynamics Developer. In deze functie ben je verantwoordelijk voor de succesvolle ontwikkelen van maatwerk componenten op het Dynamics platform bij toonaangevende organisaties. Denk daarbij aan het realiseren van integratie met front en backoffice systemen op basis van Azure PaaS of het ontwikkelen van complexe plug-ins. Daarnaast werk je actief

Bekijk vacature »

Technisch Ontwerper / Applicatieontwikkelaar max.

Wie zoeken we? Je bent de beste in je vak of hebt de ambitie en de potentie om de beste te worden. Je hebt de passie om nieuwe technologieën te blijven leren en continu jezelf te ontwikkelen. Je hebt de pioniersgeest en drive om nieuwe technologieën, methodieken en concepten toe te passen in projecten en bij klanten. Je vindt het leuk om kennis te delen met collega’s, klanten en vakgenoten. Je bent een ware professional en ambassadeur voor CIMSOLUTIONS. Je voelt je thuis in een informele, collegiale en professionele sfeer waar de aandacht voor de klant en voor de medewerker

Bekijk vacature »

PHP developer gezocht - onderzoek applicatie

Functieomschrijving Je gaat verder ontwikkelen aan de bestaande applicatie en hier nieuwe functionaliteiten op bedenken. Omdat jij verantwoordelijk bent voor de applicatie krijg je hierin ook veel vrijheid. De collega's zijn jonge mensen in de leeftijd van 20 tot ongeveer 40 jaar en er heerst een hele ongedwongen sfeer in het bedrijf. Je mag straks 2 dagen remote vanuit huis werken als je dat zou willen. In overleg is er veel mogelijk bij dit bedrijf. We zoeken iemand met bij voorkeur 2 a 3 jaar ervaring op medior niveau. Heb jij zin om bij een leuk bedrijf verder te ontwikkelen

Bekijk vacature »

Fullstack PHP developer voor gerenommeerde organis

Functieomschrijving Voor de functie is het belangrijk dat jij goede kennis hebt van PHP en Laravel/Symfony en JavaScript. Ze zoeken dus iemand die al 5 jaar werkervaring heeft als developer. Je zult hier zowel op de Front- als Backend werkzaam zijn en samen met je collega's ben je verantwoordelijk voor de software. Wil jij jezelf verder uitdagen in een klein en sterk team? Dan ligt hier de kans om deze stap te zetten! Functie-eisen - Je hebt minimaal 5 jaar werkervaring als PHP developer; - Javascript, PHP en MySQL kennen geen geheimen voor jou; - Je hebt kennis van meerdere

Bekijk vacature »

software engineer / applicatieontwikkelaar (m/v)

Wij zijn op zoek naar een software engineer / applicatieontwikkelaar, (M/V) 40 uur p/w Carrièreniveau: Startend / Midcareer De werkzaamheden: Als applicatieontwikkelaar ben je verantwoordelijk (in teamverband) voor het maken/schrijven van software voor het bedrijf zelf. Dit kan betrekking hebben op het hele spectrum van de software die gebruikt wordt: Database Instrumentatie en robotica Websites en -api’s. Gevraagd profiel: Wij zoeken een enthousiaste kandidaat met HBO ICT opleiding of een uitstekende MBO-er ICT. Je hebt een positieve en flexibele werkhouding. Affiniteit of ervaring met industriële automatisering of robotica geldt als een pré. Kennis van met name FileMaker, C#, html, php,

Bekijk vacature »

Java Developer AWS Financiële sector 5500,-

Functieomschrijving Ben jij een ervaren Java Developer, daagt een dynamische omgeving jou uit en bouw je graag innovatieve oplossingen? Werk je graag in de financiele sector en in een familiaire omgeving waar groei centraal staat? Lees dan snel verder! Het ontwikkelen van financiële applicaties in Java o.b.v. microservices architectuur; Software ontwikkelen specifiek voor het AWS platform om het maximale uit Amazon Webservices te halen; Werken aan een zeer veeleisende omgeving en continu veranderende applicaties; Het werken in een multidisciplinair team dat continu werk oplevert middels CI/CD; Deelnemen aan designsessies; Het schrijven van diverse automatische tests; Op de hoogte blijven van

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Senior C#.Net / Ontwikkelaar / Developer / Softwar

Functieomschrijving C#.Net / Ontwikkelaar / Developer / Software Engineer Ontwerpen van nieuwe applicaties; Herschrijven van bestaande applicaties; Meedraaien in uitdagende projecten; Code reviewen; Communiceren met de business. Functie-eisen Afgeronde HBO opleiding richting Informatica of vergelijkbaar; Minimaal 8 jaar ervaring als Fullstack Software Engineer; Ervaring met C#.Net en SQL server zijn een eis; Je hebt ervaring met het werken in een Scrum / Agile omgeving; Ervaring in het coachen van collega's; Heb je al kennis van Micrsoft Azure, dan is dit een belangrijke pré; Kennis van ASP .NET, MVC, Rest, Xamarin, XML/JSON en HTML5/CSS3 zijn mooi meegenomen. Bedrijfsomschrijving Deze organisatie is

Bekijk vacature »

.NET Developer

.NET Developer De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een

Bekijk vacature »

C# Developer/ SQL Server/ Visual Studio/Javascript

Functieomschrijving Ben jij een gedreven en enthousiaste .NET Developer (C#) met gevoel voor design en usability? Wil jij als C# Ontwikkellaar jouw skills graag inzetten op de development afdeling van een innovatieve, flexibele organisatie met een groot bereik? Lees dan snel verder! Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s;

Bekijk vacature »

PHP Developer

Back-end PHP Developer An IT-company, located in a monumental building in the city centre of Utrecht is looking for a Back-end PHP Developer. For this company you will be helping the IT-team in raising their game and improving the quality of the software. If you feel the drive to enhance the quality of the code and learn from senior developers within no-time, then this might just be the job that you're looking for! For this client you will be part of a innovative, passionate, ambitious and interdisciplinary development team that consists of 8 junior, medior and senior developers. Within this

Bekijk vacature »

Oracle Ontwikkelaar Consultant binnen verschillend

Functieomschrijving Door de hoeveelheid opdrachten kunnen ze hier nog zeker versterking gebruiken van een goede Oracle Ontwikkelaar die over geruime ervaring met PL/SQL beschikken. Wanneer je ook nog ervaring hebt met APEX is dat helemaal mooi meegenomen, maar zeker geen eis. Binnen deze functie word je ingezet op uitdagende complexe Oracle vraagstukken bij diverse klanten. Zoals hierboven al aangegeven loopt het type klant ver uiteen wat veel uitdaging en variëteit biedt. Met jouw technische kennis ga je jouw klanten binnen de juiste behoeften te voorzien en ben je voornamelijk bezig met PL/SQL code. Door jarenlange ervaring en complexe vraagstukken is

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5 volgende »

Wouter J

Wouter J

04/07/2012 15:50:13
Quote Anchor link
Quote:
Ik denk echter dat dat niet de bedoeling van Wouter was. Wat ikzelf nu van plan ben is in de 'Storage' klasse een aantal basis methoden zou gaan schrijven. Bijvoorbeeld om kunnen te schrijven naar een bestand en opslaan in de database. Ik zou dus SessionStorage laten extenden van Storage en e.v.t. de SessionHandlerInterface implementeren. Graag jullie meningen!

Ik hou erg van al die 'magic' interfaces in PHP, maar ik begrijp dat je dat niet wilt.

Het was ook niet mijn eerste bedoeling. Mijn bedoeling was dat je een Storage interface ging maken die voorschrijft welke methods er verplicht moeten zijn. Vervolgens laat je alle Storage klassen deze implementeren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
interface StorageInterface
{
    public function set($id, $value);
    public function get($id);
}


class SessionStorage implements StorageInterface
{
    public function __construct($session_id = null)
    {

        session_start($session_id);
    }


    public function set($id, $value)
    {

        $_SESSION[$id] = $value;
    }


    public function get($id)
    {

        if (!isset($_SESSION[$id])) {
            throw new \InvalidArgumentException('Session '.$id.' has not been set');
        }


        return $_SESSION[$id];
    }
}


class FileStorage implements StorageInterface
{
    protected $file;

    public function __construct($fileName)
    {

        if (file_exists($fileName)) {
            $this->file = fopen($fileName, 'a');
        }
else {
            throw new \InvalidArgumentException('File '.$fileName.' is not found in '.getcwd());
        }
    }


    public function set($id, $value)
    {

        fwrite($this->file, "\n[$id] ".$value);
    }


    public function get($id)
    {

        while ($line = fgets($this->file)) {
            if (preg_match('/^\['.$id.'\]/', $line)) {
                return end(explode('] ', $line);
            }
        }

        throw new \InvalidArgumentException('Key '.$id.' has not been set');
    }
}


class YmlFileStorage extends FileStorage
{
    // ...
}
?>
 
PHP hulp

PHP hulp

20/01/2020 17:05:54
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/07/2012 16:05:54
Quote Anchor link
@Erwin
Het is maar net welke insteek je hebt. Op jouw manier bepaal jij als ontwikkelaar hoe de afnemers van jouw app de rechten moeten uitdelen. Op mijn manier laat je die keuze aan hen over.
En natuurlijk moet je dan gaan doornormaliseren, waardoor je queries complexer worden, maar dat is dan gewoon de keuze die je maakt, en dat is pesoonlijk ;-)
 
Erwin H

Erwin H

04/07/2012 16:14:57
Quote Anchor link
Ger, uiteraard is het een keuze en aangezien het eigenlijk ergens ander over gaat zal ik er na deze post ook geen woorden meer aan vuil maken.
Het enige wat ik wil zeggen is dat de 'persoonlijke' rechten al mogelijk zijn mits je groepen van 1 persoon toelaat. Dat je met zo'n model dus als ontwikkelaar de gebruiker beperkt ben ik het niet mee eens. Je doet het alleen op een, wat mij betreft, transparantere manier. In de GUI kan je namelijk nog precies hetzelfde als wat jij kan.
 
Write Down

Write Down

04/07/2012 18:13:18
Quote Anchor link
@Wouter
Alweer erg bedankt voor je duidelijk antwoord. Ik apprecieer dit ten zeerste. Uiteraard ook de reacties van de andere mensen in dit topic.

Ik denk dat dit inderdaad een goede structuur geeft. Bij SessionStorage ben ik dan ook wel van plan de interface die eigenlijk voor PHP 5.4 bedoeld is te gaan gebruiken.

@Ger & Erwin
Reacties hierover zijn natuurlijk wél gewenst. Als er geen discussie is, dan kan je er ook niets van leren.

Het model van Ger vind ik erg mooi, maar dan weer net iets te ver gaan. Voor ingewikkelde queries heb ik geen angst, maar de vraag is natuurlijk: is het noodzakelijk? En dan denk ik in dit geval van niet.

Mijn plan is dus een user tabel, een group table en tot slot een permissions table. In eerste instantie vond ik dit geen prettig idee. Ik wil niet dat de eindgebruiker verplicht is een groep te maken voor 1 specifieke gebruiker. Maar, ik heb er eens verder over nagedacht. Ik kan dit probleem in de GUI inderdaad netjes oplossen (eigenlijk wat Erwin ook al aangeeft).

Nogmaals bedankt voor alle jullie reacties!

Ik ga nu nog wat inspiratie op doen voor mijn database klasse. Dan kan het echte werk beginnen. Moest er iemand nog leuke voorbeeldjes hebben van een database klasse die werkt met PDO, altijd welkom!
 
Wouter J

Wouter J

04/07/2012 18:16:43
Quote Anchor link
Pimple? Doctrine?
 
Write Down

Write Down

04/07/2012 19:55:09
Quote Anchor link
Pimple is toch een DI container?
 
Wouter J

Wouter J

04/07/2012 21:45:08
Quote Anchor link
Ja, sorry, ik bedoelde Propel
 
Write Down

Write Down

05/07/2012 22:26:08
Quote Anchor link
Ik vind die Propel er erg leuk uitzien en zelfs werken. Alleen vind ik dat persoonlijk te vergaand. Veel extra code om het, naar mijn mening, jezelf makkelijk te maken. Iets wat ik persoonlijk niet altijd nodig vind. Daarom ga ik toch eerder gaan voor een eenvoudige database klasse die een paar standaard zaken voor mij afhandelt. (zoals bv. de error reporting)

Bijvoorbeeld iets als dit
 
Wouter J

Wouter J

05/07/2012 23:02:51
Quote Anchor link
Alleen de naam van die klasse waar je naar link schrikt mij al af. Ik zou je misschien door dit laten inspireren, maar zeker niet gebruiken. Singleton, het idee alleen al... ;)
 
Write Down

Write Down

05/07/2012 23:15:42
Quote Anchor link
Inspireren, inderdaad. Singleton ga ik sowieso niet voor, ben ik ook geen fan van.
 
Wouter J

Wouter J

05/07/2012 23:24:03
Quote Anchor link
Ik zou wel eens gaan kijken naar PHP iterators kan je leuke dingen mee doen in combinatie met dit.
 
Write Down

Write Down

05/07/2012 23:34:36
Quote Anchor link
Zoals bv. in Java method.next()? Lijkt me idd plan, moet ik me binnen PHP wel nog in verdiepen. (In Java ook hoor haha)
 
Wouter J

Wouter J

05/07/2012 23:36:38
Quote Anchor link
Bijv. iterator of iteratoraggregate of 1 van al die andere spl.iterators
Gewijzigd op 05/07/2012 23:37:46 door Wouter J
 
Write Down

Write Down

06/07/2012 12:09:22
Quote Anchor link
Wat vind je van volgend voorbeeld: MySQL class with Result Iterator?
 
Wouter J

Wouter J

06/07/2012 12:15:10
Quote Anchor link
Het werkt met MySQL en dat zou ik sowieso niet doen.

Ook zou ik dit over meerdere objecten spreiden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
- Database (connectie en uitvoeren query)
- Result (het resultaat van een query)
  - DataResult (resultaat van een select query)
  - ...Result (resultaat van een UPDATE, DELETE of INSERT query)

En misschien zelf een query object om je queries op te kunnen bouwen.
 
Write Down

Write Down

06/07/2012 12:31:12
Quote Anchor link
Ik ga uiteraard gaan voor PDO :-)
Ik zocht alleen een voorbeeld.
 
Write Down

Write Down

28/08/2012 23:08:13
Quote Anchor link
Eerst en vooral, wil ik duidelijk zeggen dat ik dit topic niet wil bumpen, maar effectief nieuwe elementen wil toevoegen.

Ik heb al heel wat van mijn applicatie ontworpen. Eigenlijk de 'basis' classes. Ik vind nu dat het tijd is om verder te gaan met het "User Management". Vandaar dat ik terug een reactie plaats in dit topic.

Ik ben naar Wouters' model de Strategy patern aan het toepassen. Alleen zit ik nu met een vraag of een bepaalde strategy wel echt als een strategy te beschouwen valt. Namelijk AdminAccesStrategy.

Mijn bedoeling hiermee is te bepalen of het gaat om een gebruiker die in het admin gedeelte mag of die dat net niet mag. Alleen vraag ik me af, of dit wel een correcte wijze is. Zou ik dit bijvoorbeeld beter in de Authentication doen?

Want als ik dan verder denk, wil ik eigenlijk elke pagina met meer functies dan 'bekijken' toch enkele rechten toekennen. Mijn uiteindelijk doel, is een CMS te ontwikkelen. Er gaan dus werkelijk bezoekers zijn (die niet ingelogd zijn), leden (die dus beperkte rechten hebben, bijvoorbeeld bepaalde beveiligde pagina's bekijken) en dan verschillende soorten admins (die dus toegang hebben tot een controlepaneel).

Ik vraag me alleen af, hoe ik dit deel van de rechten het best kan implementeren. Dus eigenlijk bepalen of een gebruiker al dan niet een bepaalde pagina mag bekijken.
 
John Berg

John Berg

28/08/2012 23:16:59
Quote Anchor link
Ik ken 4 methodes die dit 'regelen': d.m.v. levels, roles, indeling van een user in een groep en beperkingen in de CRUD.

En eventueel combinaties daarvan. Het is maar wat je in ontwerp voor detaillering wenst, voor welke methode je gaat.

Ik implementeer authentication in een aparte service, ongeveer zoals CodeIgniter en Zend Framework dat doen en bij mij maakt authetication dus geen deel uit van het domein.

sorry als ik het wat boud opschrijf.
Gewijzigd op 28/08/2012 23:18:47 door John Berg
 
Write Down

Write Down

29/08/2012 12:18:32
Quote Anchor link
Ik zit er aan te denken om het misschien toch iets anders aan te pakken. Met de Strategy pattern heb ik namelijk enorm veel werk als ik werkelijk alle rechten in kaart wil brengen.

Daarom zit ik te denken om alle rechten op te halen en deze toe te voegen aan het User object. Dit in de vorm van een array.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$rights
= array('editUser' => true, 'removeUser' => true, 'deletePage' => false, 'editPage' => false)
?>


Bij de authorization zou ik dan kunnen nagaan of een gebruiker de rechten heeft voor bepaalde zaken al dan niet te doen. Bv. d.m.v. $auth->getPermission('editUser').

Daar bovenop zou ik een bitwise model willen toevoegen. Wat eigenlijk het access level bepaald. Bv. op pagina x moet de bitwise oplossing minimaal 128 zijn. (wat dan een combinatie is van een aantal permissies)

Wat denken jullie hiervan? Of heeft er iemand nog een leuk idee?
 
John Berg

John Berg

29/08/2012 12:25:37
Quote Anchor link
In feite is dit dus een combinatie van CRUD beperking en levels.

Ook nog best lastig, als je in het backend de rechten van een user wil instellen, en je hebt veel pagina's.
 

Pagina: « vorige 1 2 3 4 5 volgende »



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.