Ontwerpen usermanagement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Low code Developer

Dit ga je doen Je richt je op het doorontwikkelen van bestaande applicaties en het geheel van scratch af aan opzetten van nieuwe applicaties binnen een low code platform; Je beoordeelt technisch ontwerpen en maakt de vertaalslag naar de technische oplossingen binnen het platform; Je voert testwerkzaamheden uit; Je adviseert de organisatie op jouw vakgebied; Je schakelt met business analisten en de architect om tot mooie oplossingen te komen; Je lost bugs op en denkt mee over een structurele oplossing. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Front end developer

Functie Binnen de functie van Front-end developer werk je mee aan uitdagende klantprojecten. In teamverband werk je aan de voorkant van onze state-of-the-art portaal oplossingen en apps. Dit alles gebeurt in een multidisciplinaire omgeving waarbij je de ruimte hebt om te sparren, je ideeën scherp te stellen, en waar je met de benodigde kennis en ervaring om je heen altijd terecht kunt bij je collega’s voor vragen en ondersteuning. Meestal werk je vanuit ons kantoor maar we bieden ook alle faciliteiten om thuis te kunnen werken. Voor sommige projecten ga je mee naar de klant, wellicht zelfs in het buitenland!

Bekijk vacature »

Low Code Developer - Consultant

Functie omschrijving Wil jij fungeren als een spin in het web en samenwerken met klanten? Voor een leuke en interessante opdrachtgever in omgeving Leiden zijn wij op zoek naar een Low Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten en het leiden van projecten. Ben jij toe aan een nieuwe uitdaging en heb jij verstand van datamodellering en NO CODE Platformen? Lees dan snel verder! Bij deze rol horen de volgende werkzaamheden: Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform,

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

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

26/04/2024 05:14:45
 
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.