Ontwerpen usermanagement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PLC / SCADA Programmeur

Ben jij leergierig, gemotiveerd, nieuwsgierig en analytisch sterk? Heb je een afgeronde MBO opleiding in de richting Elektrotechniek of Mechatronica? Lees dan snel verder! Magion is voor de vestiging Den Haag op zoek naar een PLC / SCADA Programmeur (Met doorgroeimogelijkheden) Functieomschrijving: Sta jij klaar om een bijdrage te leveren aan de verbetering van het productieproces? Dan is dit een uitdagende en veelzijdige functie die bij je past! Als PLC / SCADA Programmeur voer je zowel zelfstandig als in teamverband industriële automatiseringsprojecten uit. Je zorgt ervoor dat het productieproces zo goed mogelijk verloopt door het onderhoud en het oplossen van

Bekijk vacature »

E-commerce organisatie zoekt Full-stack C#.NET dev

C#.net, developer, beuningen Functieomschrijving Ter uitbreiding van de organisatie is men op zoek naar een ervaren full-stack C#.NET web developer (ASP.NET) voor het verder ontwikkelen van nieuwe applicaties en het uitbreiden van de bestaande applicaties. Je werkt nauw samen met je collega’s en samen sparren jullie over nieuwe ideeën en mogelijkheden. Je weet je goed in te leven in de behoefte van je klanten en bouwt vanuit die behoefte verder aan nieuwe functionaliteiten. De tools en technieken die gebruikt worden voor het ontwikkelen van deze applicaties zijn C# ASP.NET, HTML5, Javascript, CSS en MYSQL. Functie-eisen - Je hebt HBO werk

Bekijk vacature »

C#.Net / Ontwikkelaar / Developer / Software Engin

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 HBO werk- en denk niveau; Minimaal 3 jaar ervaring als Software Engineer; Kennis van C# en SQL server zijn een eis; Je hebt ervaring met het werken in een Scrum / Agile omgeving; 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 werkzaam in de e-commerce branche. Het is een snel

Bekijk vacature »

ASP.NET/MVC Developer/Internationaal/Agile-minded

Functieomschrijving Wil jij aan de slag bij één van de meest succesvolle organisaties binnen Europa op het gebied van software die bedrijfsprocedures ondersteunt? Wil jij jezelf ontwikkelen als ASP.NET Developer in een uitdagende omgeving? Lees dan nu verder! Functie-eisen Minimaal HBO werk- en denkniveau; Minimaal 3 jaar werkervaring als ontwikkelaar; Een zeer ruime ervaring met ASP.NET, MVC en C#; Een ruime ervaring met MVC en het Entity Framework is een pré; Ervaring met JSON, Visual Studio, SQL Server, AJAX en web services is een pré; Kennis van Knockout.js en HTML/CSS is een pré. Bedrijfsomschrijving Je komt als ASP.NET Developer te

Bekijk vacature »

Senior Front-end Developer

Front-end Developer bij Capgemini Bij Capgemini 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! Jouw uitdaging 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 je

Bekijk vacature »

Cybersecurity Specialist

Must haves HBO werk- en denkniveau Werkervaring in complexe IT-omgevingen Minimaal 5 jaar ervaring als security specialist Je hebt kennis van en ervaring met (pen-)testtools als Burp Suite, Kali Linux, Nessus en diverse andere open source- of closed source testtools Je bent analytisch en doelgericht Het kunnen overleggen van een Verklaring Omtrent Gedrag (VOG) Uitstekende communicatieve vaardigheden in zowel Nederlands als Engels Nice to haves Meerdere jaren ervaring met code reviews, pentesten, informatiebeveiliging, hacking, IDS, IPS, SIEM Je hebt meerdere certificaten behaald van SANS (ISACA) / EC Council (CEH, CHFI) óf de bereidheid deze te behalen Je hebt ervaring met

Bekijk vacature »

Front-end developer voor één van de

Functieomschrijving Zij zijn op zoek naar iemand die verantwoordelijk is voor de Front-end. Je zult hier samenwerken met Front- en Back-end developers en UX-designers. Samen met het team heb je elke dag een stand-up meeting om te kijken hoe je de werkzaamheden gaat vliegen. Hier ga je samen met de UX-designer de CSS implementatie bespreken om vervolgens met de back-end developer te bespreken hoe je Front- en Backend koppelingen gaat afhandelen. De organisatie is op zoek naar een programmeur die in staat is om software te onderhouden en uit te breiden voor de e-commerce, logistieke en marketing activiteiten binnen de

Bekijk vacature »

Vacature .NET Developer - Werk mee aan een maatsch

Wil jij bijdragen aan de verbetering van de zorg? Zet je kwaliteiten dan in voor CareConnections, een succesvolle scale-up met inmiddels veertien medewerkers.Wij ontwikkelen cross-platform mobile apps die de zorgmedewerkers administratief ontzorgen, zodat de cliënt meer aandacht krijgt. Als technologie je passie is en je je continu wilt blijven ontwikkelen, is dit een functie voor jou! CareConnections ontwikkelt de Zorgapp voor de zorgprofessional. En om de driehoeksverhouding met de cliënt en verwant te stimuleren, heeft CareConnections sinds dit jaar ook de Eva! app om de zelfregie en de participatie te verhogen. Jouw functie als .NET API en Database Developer Als

Bekijk vacature »

Senior 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 Senior 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 »

Developer die .NET (Core) ademt gezocht in hartje

Functieomschrijving Als .NET Developer kom jij hier dagelijks voor technische uitdagingen te staan. Uiteraard deins je daar niet voor terug. Je komt in een hecht team en jij gaat je focussen op nieuwbouw van (mobiele) applicaties, websites en interfaces, maar ook op het verder uitbouwen en onderhouden van bestaande applicaties, websites en interfaces. Jij bent Fullstack inzetbaar en kunt, met altijd de eindklant in je achterhoofd en in nauwe samenwerking met je teamgenoten, altijd een passende oplossing bieden voor de gestelde vraagstukken. Voorbeelden van recente projecten en dus projecten waar jij aan zou kunnen komen te werken, zijn bijvoorbeeld een

Bekijk vacature »

Senior Cyber Defense Analyst

We are looking for a Senior Cyber Defense Analyst Responsibilities: Design, develop, test and support code providing detection and automation capabilities for cyber security toolsets; Creation of alert, report and search capabilities using advanced data analytic toolsets for cyber defense activities; Provide cyber defense related input to the design and participate in the implementation of cyber security capabilities for internal projects; Participate in complex investigations and threat hunting; Acquire knowledge of changing technologies and threats to provide recommendations for adaptation of technologies or policies; Design, create, organise and deliver staff training, update knowledge management databases and document procedures; Qualifications: Bachelor's

Bekijk vacature »

Top C++ Developers, Top Salary, Top Location

Job profile Top C++ Developers Top salary for Top C++ Developers who want to relocate and work for a successful software company in Berlin, Germany. A unique opportunity for the smartest and most creative C++ developers with a solid theoretical background from all over the world. You work on a wide array of extremely challenging C++ development tasks. Look at a problem from the user's perspective and discuss abstract concepts with fellow developers. You will be responsible for the whole range of activities when implementing a new feature. Architecture, design, implementation, customer feedback and bug fixing. So complete control over

Bekijk vacature »

Informatie manager

Functiebeschrijving Functie : Informatie manager Kern van de functie De Informatie manager is dé brugfunctionaris die de vertaalslag weet te maken van behoeften uit de organisatie en het primaire proces naar ondersteuning vanuit ICT. Hij/zij is hierbij sleutelfiguur van WITS Vastgoedonderhoud m.b.t. regievoering van en het invulling geven aan de ICT functie. Om dit mogelijk te maken draagt de functionaris op formele en informele wijze zorg voor afstemming met de belanghebbenden in de organisatie binnen de afgesproken besturingskaders waarbij vraag en aanbod met betrekking tot ICT op elkaar worden afgestemd. Hierbij is specifiek focus op de aandachtsgebieden architectuur, leveranciersmanagement, (project)portfoliomanagement,

Bekijk vacature »

Senior iOS Developer vacature

Je bent innovatief. Je bent creatief. Jij gaat voor een topbaan. Mobile apps ontwerpen, uitwerken en realiseren, dat is jouw passie! Met grote toewijding richt jij je dan ook op een app waarmee consumenten met een gezichtsscan betalen. Of je stort je je op een app die de temperatuur in huis op afstand kan regelen. Het spreekt voor zich dat jouw apps top of the bill zijn als het gaat om gebruiksvriendelijkheid en veiligheid. Ze hebben impact. Je voelt je als een vis in het water in een iOS-omgeving maar, veelzijdig als je bent, kun je ook met andere platforms

Bekijk vacature »

Applicatiebeheerder

Stroom jij over van kwaliteit om wereldwijde waterproblemen aan te pakken? Kun jij wensen en eisen vertalen naar IT vereisten? En hou je van een dynamische omgeving, waarin jouw baan ertoe doet, jouw ideeën worden gehoord en waar je werkelijk het verschil kan maken voor jouw collega’s en het bedrijf? Zo ja, dan zijn wij op zoek naar jou voor de functie van: Applicatiebeheerder voor ons kantoor in Veghel Over de positie: Als applicatiebeheerder bij Megagroup Trading help je ons door ervoor te zorgen, dat de applicaties soepel lopen. Dit doe je samen met collega’s en externe partners. met een

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

21/10/2019 23:43: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.