Ontwerpen usermanagement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

.NET Developer C# VB

Samengevat: Deze werkgever is actief in software voor het matchen van vraag en aanbod van gebruikte auto-onderdelen. Ben jij een .NET Developer? Heb je ervaring met het ontwikkelen (REST) en integreren van webservices? Vaste baan: C# .NET Developer C# VB HBO €2.600 - €6.200 Wij ontwikkelen software om vraag en aanbod van onderdelen van personenauto's bij elkaar te brengen. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. De branche van dit bedrijf is Automotive. Functie: Voor de vacature als .NET Developer Dordrecht HBO ga je

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

Java Developer (Training And Simulation)

Wat jij doet Je zou onze Java Developer zijn en nauw samenwerken met je Product Owner, Software System Engineer, Scrum Master en andere Developers. Samen draag je bij aan een multidisciplinair en zelf organiserend Agile team. De rol is zeer afwisselend en bestaat uit, maar is zeker niet beperkt tot: de-risk en prototype onbewezen simulatietechnologieën; simulatiekaders ontwikkelen voor gebruik door andere teams; je bent goed in het begrijpen van ingewikkelde ideeën; heeft de mogelijkheid om nauw samen te werken met grote internationale klanten, leveranciers en overheden om onze oplossingen, vastleggingsvereisten, enz. te definiëren en te presenteren. Ben jij het? Wij

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

C# Developer

Dit ga je doen 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; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5 volgende »

Write Down

Write Down

29/08/2012 16:20:01
Quote Anchor link
Simpel zal dit inderdaad niet zijn, maar volgens mij wel flexibel. Dan kan ik perfect bepalen welke pagina's welke rechten nodig hebben. Voor de gebruikers van het systeem, lijkt me dit ook prima. Ik kan in de GUI dan door middel van checkboxes laten selecteren wat welke groep mag uitvoeren.

Maar goed, even kijken of mijn idee hoe ik het wil uitwerken volgens de 'regels' van OO zijn. Ik zal dit doen a.d.h.v. een korte bespreking wat de functionaliteit is van elke klasse.

Authentication
De gebruiker inloggen / uitloggen. Uiteraard een paar checks invoegen zoals gebanned om gelijk welke reden. Deze methods geven dan iets terug van geslaagd / niet geslaagd (+reden)

Authorization
Is de ingelogde nog wel wie hij/zij zou moeten zijn? Moet er niet gevraagd worden om opnieuw ingelogd te worden?

Permission
Kijken welke permissies nodig zijn voor deze pagina / opvragen welke permissies de gebruiker heeft.

User
Naam bijhouden, user ID, ... Ik vraag me af wat het verstandigste is, een referentie naar de permission class leggen, of de 'rij' bits opslaan?

UserMapper
Zorgt voor de data uitwisseling tussen database en het user object.
 
PHP hulp

PHP hulp

26/05/2024 06:01:03
 
Wouter J

Wouter J

29/08/2012 16:33:05
Quote Anchor link
De authentication heeft niks te maken met in/uit loggen. De authentication moet per pagina request kijken wie de bezoeker is: is hij ingelogd of is hij anoniem? Hoe heet hij? Ect? De Authentication maakt dus het User object aan.

Vervolgens hebben we de Authorization die gaat kijken welke rechten er nodig zijn om de pagina te bekijken en kijkt of het User object wel die rechten heeft, zoniet => permission denied, zo ja => pagina laten zien.
 
Write Down

Write Down

29/08/2012 17:38:53
Quote Anchor link
Okay Wouter, alleen, je gaat toch niet telkens authentication een user object laten aanmaken? Ik dacht eerder aan het user object te serializen (zie eerder dit topic) en dit in een sessie te plaatsen. (sessie verwerking ga ik wellicht via de database doen)

Overigens, wil ik bij authorization niet altijd dat per definitie een pagina bekeken mag worden of niet. Ik wil ook de mogelijkheid hebben om delen van een pagina niet te tonen. Denk bijvoorbeeld aan een inkomsten module. Deze staat dan gelijk op het controlepaneel, alleen ik wil niet dat een support medewerker dit kan zien. Anderzijds, wil ik hem andere delen van die pagina niet ontzeggen. Maak ik hiervoor best een apparte class aan, of toch ook hier in?

In welke class zou ik dan het inloggen moeten afhandelen?

Toevoeging op 29/08/2012 17:42:09:

Even wel toevoegen dat ik uiteraard authentication wil toepassen, controle is belangrijk. Dus het user object deserializen en nakijken.
 
Wouter J

Wouter J

29/08/2012 17:46:50
Quote Anchor link
Je kan het ook zo doen dat de Authentication kijkt of de sessie bestaat: Zoniet dan wordt de gebruiker geverifieerd en wordt er een User object aangemaakt (die in een sessie wordt geplaatst). Mocht de sessie wel bestaan dan zal de Authentication die User object pakken en kijken of we nog steeds met dezelfde gebruiker te doen hebben.

We praten nu met Authentication en Authorization op pagina (route) niveau. Maar je kunt dit natuurlijk met dezelfde 2 klassen ook toepassen op Controller niveau (de inkomsten module wordt door een andere controller gemaakt dan het controlepanel) of zelfs op een action niveau.

Als je de 2 klassen een beetje snel programmeert kun je het voor elkaar krijgen dat je met 2 klassen (authorization en authentication) op elk niveau voor beveiliging kan zorgen. De Authentication zal je 1 keer aanroepen, als eerste, en de authorization zal je misschien vaker aanroepen (mag de user de pagina zien -> ja, mag de user de inkomstenmodule zien -> nee, enz.)

En het inloggen handel je af met een eigen SecurityController oid. Dit is geen taak van een normaal object, maar zul je 'moeten' afhandelen met een Controller.

Offtopic:
Ik heb geen ervaring met Security regeling. Wat ik je hier vertel is hoe het opgelost wordt in het Symfony Framework.
Ik weet niet wat het doel is van dit experiment, maar ik raad je zeker aan ook eens naar een framework te kijken ZF2, Symfony, CakePHP maakt me niks uit. Dan wordt het een stuk makkelijker voor je.
Mocht je dit als doel hebben OO te leren dan kun je natuurlijk vrolijk verder gaan, je leert er echt goed OO door!
Gewijzigd op 29/08/2012 17:49:26 door Wouter J
 
Write Down

Write Down

29/08/2012 17:52:34
Quote Anchor link
Alweer bedankt voor de reactie!

Maar jij zou dus geen extra klasse Permission maken? Want ik dacht bij authorization controles te doen als, bestaat de sessie nog, is de sessie nog niet vervallen, klopt het IP nog, is de persoon niet op meerdere locaties ingelogd, ... En dan dacht ik emt de Permission klasse effectief na te gaan kijken mag de gebruiker x en y wel doen?

Toevoeging op 29/08/2012 17:56:04:


Offtopic:
In eerste instantie wil ik zelf gewoon een mooie basis uitwerken. Hiermee wil ik dan eigenlijk gelijk welke soort applicatie gaan opbouwen.

Mijn eerste applicatie die ik er werkelijk wil gaan opbouwen is een CMS.

Zelf gebruik ik liever geen framework. Ik wil het liefst alles zelf netjes regelen zoals ik het wil. Ik vind persoonlijk zo'n framework vaak nogal log, en onnodig veel mogelijkheden hebben. Daarom maak ik liever zelf iets, wat ook nog leuk en leerzaam is.
 
Wouter J

Wouter J

29/08/2012 18:04:45
Quote Anchor link
Wat jij wilt met de Authorization is wat je in de Authentication moet doen. Die kijkt wie de gebruiker is, of die nog steeds dezelfde is en dus ook meteen alles van de sessie. Met authorization kijk je wat deze gebruiker mag en of dat gelijk is aan wat er nodig is om iets (pagina, controller, actie) te mogen zien.

Misschien helpt het als ik de worden even vertaal:
Authentication betekend 'verificatie' hierin verifieer je dus de gebruiker, je zorgt dat je een compleet beeld hebt over wie jou bezoeker is.
Authorization betekend 'machtiging'. Je kijkt of die bezoeker die je net helemaal hebt geschetst wel gemachtigd is om iets te bekijken.

Lees anders even deze tutorial: http://symfony.com/doc/current/book/security.html (totaan 'Using a Traditional Login Form' aangezien het vanaf daar over Symfony gaat)
 
Write Down

Write Down

29/08/2012 23:15:48
Quote Anchor link
Rest mij nog een vraag. De permissies in het user object bijhouden of toch maar telkens via de UserMapper ophalen?
 
Write Down

Write Down

04/09/2012 17:52:05
Quote Anchor link
Wegens weinig tijd afgelopen week, ben ik nog niet veel verder geraakt. Vandaag ben ik dan meer weer eens verder gaan nadenken hoe ik nu alles over gebruikers flexibel kan bijhouden.

Op die opzet zou ik graag wat reacties krijgen, bij deze dus het idee.

De User class wil ik beperkt houden. In een User object zou ik het user_id en de permission_group. Ik twijfel nog een beetje of ik de naam hier ga in bij houden of niet.

Daarnaast wil ik een Person class gaan ontwerpen. Deze moet dan een paar basis gegevens bijhouden zoals de voornaam, achternaam, e-mailadres (e.v.t. nog andere andere algemene zaken, zoals geboortedatum e.t.c.). Eveneens een 'lijst' (array) naar Address, Telephone en Note objecten.

Die laatste drie zijn dus ook classes, wat die juist doen lijkt me duidelijk. Uiteraard, voor elke class die ik noem, zal er ook een Mapper zijn.

Wat denken jullie van deze opzet?
 
Wouter J

Wouter J

04/09/2012 18:34:28
Quote Anchor link
Ik zou het User object de Person klasse laten extenden. Verder klinkt het we goed.
 
Write Down

Write Down

04/09/2012 19:03:32
Quote Anchor link
Wouter J op 04/09/2012 18:34:28:
Ik zou het User object de Person klasse laten extenden. Verder klinkt het we goed.


Ik dacht het net omgekeerd te doen. De bedoeling is namelijk dat ik het User object serialize en in de sessie ga stoppen. Dit wil ik dus liefst zo klein mogelijk houden.

Als ik User dus extend, lijkt me dat Person ook zal worden opgenomen?

Toevoeging op 04/09/2012 19:57:29:

Ik denk dat ik de oplossing al weet, dadelijk even testen. Eerst eten, ik kom straks terug bij jullie!

Toevoeging op 04/09/2012 22:35:05:

Om er even op terug te komen, mijn idee werkt dus. Even wat test code geschreven:

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
<?php
class Person {
    private $firstName;
    private $lastName;
    private $email;
    
    function
__construct($firstName, $lastName, $email) {
        $this->firstName = $firstName;
        $this->lastName = $lastName;
        $this->email = $email;
    }


    
    public function getFirstName() {
        return $this->firstName;
    }


    public function getLastName() {
        return $this->lastName;
    }


    public function getEmail() {
        return $this->email;
    }

}

?>


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
<?php
class User extends Person implements Serializable {
    private $id;
    private $permissions_group;
    
    public function __construct(Person $person, $id, $permissions_group) {
        parent::__construct($person->getFirstName(), $person->getLastName(), $person->getEmail);
        $this->id = $id;
        $this->permissions_group = $permissions_group;
    }


    public function getId() {
        return $this->id;
    }


    public function getPermissions_group() {
        return $this->permissions_group;
    }


        
    public function serialize() {
        return serialize(array(
            'id' => $this->id,
            'perm' => $this->permissions_group
        ));
    }

    
    public function unserialize($serialized) {
        $data = unserialize($serialized);
        $this->id = $data['id'];
        $this->perm = $data['perm'];
    }
}


?>



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
<?php
session_start();
require_once 'Person.php';
require_once 'User.php';

$person = new Person('Write', 'Down', '[email protected]');

$user = new User($person, 7, 1);

echo $user->getFirstName(); //geeft perfect Write

$_SESSION['user_data'] = serialize($user);
print_r($_SESSION);

?>

Gewijzigd op 04/09/2012 22:43:04 door Write Down
 
Write Down

Write Down

07/09/2012 11:21:53
Quote Anchor link
Ik loop nu bij nader inzien op deze manier toch nog tegen een probleem. Wanneer ik een User object wil maken, ben ik verplicht een Person object aan te maken (of de parameters in te vullen die dat mogelijk maken).

Dit is geen grote ramp, maar toch... Bij het inloggen bijvoorbeeld, heb ik totaal geen behoefte aan de gegevens van een persoon. Toch moet ik deze ophalen, wat dus onnodige queries kost. En nee, deze info wil ik niet gaan opslaan in de sessie, net omdat ik het zo weinig nodig heb.

Daarom overweeg ik het niet Person te extenden, maar User. Alleen weet ik niet of dit echt een goede oplossing is. Het klinkt in elk geval niet erg logisch. Graag jullie raad!
 
Eddy E

Eddy E

07/09/2012 11:27:24
Quote Anchor link
Ik zou Person er alleen bij betrekken als je daadwerkelijk die informatie nodig hebt.
En als User niet hetzelfde is als Person, waarom moeten ze dan 1 op 1 gelinkt worden?

Persoonlijk zou ik user_id en person_id gewoon als relatie beschouwen, maar dan alleen als je dat nodig hebt.
Person extend dus User.

User = id, loginnaam (kan ook email zijn), wachtwoord, sessie en rechten
Person = id, naam, email, leeftijd (en andere profiel-dingen)
 
Write Down

Write Down

07/09/2012 11:31:57
Quote Anchor link
Bedankt voor de reactie Eddy. Ik wacht nog even af op andere reacties. Maar het lijkt me inderdaad een goed plan. Al zijn er misschien nog wel betere oplossingen :-)

Verder heb je het denk ik wel meer over de database kan dan de PHP kant lijkt mij. Want ik zie bijvoorbeeld niet in waarom ik het wachtwoord in een User object zou opslaan.
 
Erwin H

Erwin H

07/09/2012 11:37:10
Quote Anchor link
Write Down op 07/09/2012 11:21:53:
Dit is geen grote ramp, maar toch... Bij het inloggen bijvoorbeeld, heb ik totaal geen behoefte aan de gegevens van een persoon. Toch moet ik deze ophalen, wat dus onnodige queries kost. En nee, deze info wil ik niet gaan opslaan in de sessie, net omdat ik het zo weinig nodig heb.

Waarom moet je die gegevens ophalen?
 
Write Down

Write Down

07/09/2012 11:38:45
Quote Anchor link
Moeten is een groot woord. Ik kan null etc invullen, maar goed. Dan zit ik alsnog met een ongewenst / onnodig object. Als ik het er volledig uit sloop, dan kan ik even goed niet langer extenden.
 
Eddy E

Eddy E

07/09/2012 11:54:48
Quote Anchor link
Write Down op 07/09/2012 11:31:57:
Want ik zie bijvoorbeeld niet in waarom ik het wachtwoord in een User object zou opslaan.


Omdat een user/gebruiker moet kunnen inloggen met een wachtwoord?
Die hoef/mag je uiteraard niet opslaan in een sessie, maar om te wijzigen etc wel.
Was ook maar een voorbeeld: wellicht logged_in BOOLEAN is beter ;).
 
Erwin H

Erwin H

07/09/2012 11:55:05
Quote Anchor link
Nu ik er wat beter naar kijk zit er uberhaupt iets heel geks in je opbouw:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
class User extends Person implements Serializable {
    
    public function __construct(Person $person...){
    }

}

?>

De class User extends de class Person en je moet er nog een meegeven in de constructor. Dat is iets wat overbodig is en wat je nooit zou moeten doen. Alle data/methods die je nodig zou kunnen hebben in de class User heb je al, dus waarom nog eens meegeven?

Je zou je moeten afvragen of dat extenden uberhaupt nodig is.

Toevoeging op 07/09/2012 11:58:42:

En nog even terug naar een al wat oudere opmerking van je, maar mogelijk nu weer relevant.
Write Down op 04/09/2012 19:03:32:
Ik dacht het net omgekeerd te doen. De bedoeling is namelijk dat ik het User object serialize en in de sessie ga stoppen. Dit wil ik dus liefst zo klein mogelijk houden.

Dat maakt niet uit. Bij het serializen bepaal je zelf welke gegevens je meeneemt. Zelfs al heb je 10MB aan data in het object zitten, als jij alleen het id van het object wil serialiseren dan kan dat natuurlijk.
 
Write Down

Write Down

07/09/2012 12:06:47
Quote Anchor link
Het zou in elk geval handig zijn moest ik User kunnen extenden met Person. Of het echt nodig is, wellicht niet.

Daarom ook dat ik vraag, wat is volgens jullie de beste oplossing?

Wat betreft serialize, dit had ik inderdaad intussen ook al door, zie ook voorbeeld code.
 
Erwin H

Erwin H

07/09/2012 12:25:15
Quote Anchor link
Gezien je vragen is het misschien niet zo handig om het te extenden. En 'handig' is in elk geval geen juiste reden om het wel of niet te doen. Nodig wel.
Maar of het wel of niet moet is vanaf een afstand niet of nauwelijks te beantwoorden.

Stel jezelf eens de vragen:
- is Person dezelfde entiteit als User?
- is User dezelfde entiteit als Person?
- heb je de gegevens/methodes van User nodig in Person?
- heb je de gegevens/methodes van Person nodig in User?
- kan je gegevens/methodes die je in beide nodig hebt uitfilteren en wellicht in een gemeenschappelijke class onderbrengen?
 
Write Down

Write Down

07/09/2012 14:37:07
Quote Anchor link
Bedankt voor je reactie Erwin, uiteraard ook dank voor de andere reacties.

Ik zit nog steeds een beetje met een twijfel of ik ze nu al dan niet ga uit mekaar trekken. Ik wil nl. de mogelijkheid hebben om 'losse' personen aan te maken. Denk bijvoorbeeld aan het toevoegen van contactpersonen aan de applicatie. Ik zou bijvoorbeeld kunnen bijhouden wie mijn contactpersoon bij mijn hosting is. Die persoon is dus eigenlijk totaal geen gebruiker.

Anderzijds, is een gebruiker sowieso een persoon. Als ik iemand als gebruiker toevoeg, zou ik ook graag wat informatie over die persoon willen bijhouden. Vanuit dat punt, ben ik er vanuit gegaan dat er eigenlijk wel een relatie 'moet' zijn tussen beide klassen.

Verder ben ik vrij zeker dat de kans dat ik meer gebruikers (die dus ook 'persoon' zijn) heb dan enkel en alleen personen. Daarom dus toch nog enige twijfel.
 

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.