Zend Auth Module

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer

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 »

Front-end developer (HTML, CSS, SASS, JavaScript)

Functie Momenteel zijn we voor ons Digital team op zoek naar een (medior) Front-end developer. Samen met je collega’s werk je in een Agile/Scrum omgeving aan de ontwikkeling van onze webapplicaties, websites en andere oplossingen. Je draagt bij aan een sterk ontwikkelproces waarin kwaliteit voorop staat. Hiervoor ben je niet alleen bezig met eigen code maar ook code reviews van andere collega’s. Ben jij graag op de hoogte van de nieuwste ontwikkelingen in je vakgebied en wil je deze toepassen voor diverse projecten? Dan komen wij graag met je in contact! Eisen • HBO werk- en denkniveau • Minimaal 2

Bekijk vacature »

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van brom- en snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie. Functie

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

02/08/2011 23:45:29
Quote Anchor link
Ik heb Zend Framework nu goed onder de knie. Daarom ben ik opzoek naar een veilig en gemakkelijk uit te breiden login/registratie module. Uiteraard voor Zend Framework. Is dit beschikbaar? Misschien een module?
Gewijzigd op 03/08/2011 13:13:35 door
 
PHP hulp

PHP hulp

29/12/2024 04:19:54
 
Kees Schepers

kees Schepers

03/08/2011 09:47:07
Quote Anchor link
Hallo Allard,

Ik weet niet of het er is (zal wel denk ik) maar het is opzich vrij simpel. Je bouwt het op in de volgende stappen:

1. Je maakt een formulier met eventueel Zend_Form:

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
/**
 * LoginForm
 *
 * @author kees <[email protected]>
 */

class Admin_Form_LoginForm extends Zend_Form
{
  public function init() {
    $this->setName('Inloggen');
    $this->setAction('/admin/login/login');
    $this->setMethod('POST');
    
    
    $username = new Zend_Form_Element_Text('username');
    $username->setLabel('Gebruikersnaam')
              ->
setRequired(true)
              ->
removeDecorator('Errors')
              ->
addValidator('NotEmpty');

    $password = new Zend_Form_Element_Password('password');
    $password->setLabel('Wachtwoord')
             ->
setRequired(true)
             ->
removeDecorator('Errors')
             ->
addValidator('NotEmpty');    
    
    $submit = new Zend_Form_Element_Submit('submit');
    $submit->setLabel('Inloggen')
           ->
setAttrib('class', 'submit');

    $this->addElements(array($username,
        $password, $submit));    
  }
}

?>


Controleer bovenstaande zaken goed, want dit heb ik zo uit mijn project geknipt :) O.a. form action, klasse naam. Zorg ook dat de form goed geladen kan worden door de autoloader.

2. Je maakt een frontcontroller plugin die authenticatie doet.
Hieronder ook even de mijne. Ik werk met een Admin module dus die check zul je wellicht weg moeten halen:

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
<?php
/**
 *
 * @author kees <[email protected]>
 */

class BestBuy_Controller_Plugin_AdminAuth extends Zend_Controller_Plugin_Abstract
{

  public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
  {

    if ($request->getModuleName() == 'admin') {
      $auth = Zend_Auth::getInstance();

      if (!$auth->hasIdentity()) {
        //forward user to the login page!
        $request->setModuleName('admin');
        $request->setControllerName('login');
        $request->setActionName('login');
      }    
    }
  }

}

?>


Wat er gebeurt:
Er wordt gecontroleerd of de huidige module admin is (wellicht moet je dat weghalen). Daarna Controleer Zend_Auth of de gebruiker al ingelogd is, zoniet dan wordt de gebruiker doorgestuurd naar de logincontroller en login action. Dit doe je via het request object.

3. Dan nog een logincontroller:

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
64
65
<?php
/**
 * LoginController
 *
 * @author kees <[email protected]>
 */

class Admin_LoginController extends Zend_Controller_Action
{

  public function preDispatch()
  {

    $this->_helper->_layout->setLayout('login');
  }


  public function indexAction()
  {

    $this->_forward('login');
  }


  /**
   * If a valid post is send and the form validates we check wether user can succesfully
   * authenticate with given details. If it fails user will still get the login page with a
   * global error message for securiry reasons. If a login attempt fails on which reason that may
   * be the qserver waits 3 seconds before responding against brute force attacks.
   */

  public function loginAction()
  {

    // If we're already logged in, just redirect  
    if (Zend_Auth::getInstance()->hasIdentity()) {
      $this->_redirect('/admin/');
    }


    $this->view->headTitle('Inloggen');

    $form = new Admin_Form_LoginForm();
    $request = $this->getRequest();

    if ($request->isPost()) {
      $post = $request->getPost();

      if ($form->isValid($post)) {
        $auth = Zend_Auth::getInstance();
        $result = $auth->authenticate(new BestBuy_Auth_Adapter($post['username'], $post['password']));

        if ($result->isValid()) {
          $this->_redirect('/admin/index/index');
        }
else {
          $this->view->error = implode('<br />', $result->getMessages());
        }
      }
else {
        $this->view->error = 'Velden gebruikersnaam en wachtwoord zijn verplicht.';
      }
    }


    $this->view->form = $form;
  }


  public function logoutAction() {
    Zend_Session::destroy();
    
    $this->_redirect('/admin');
  }
  
}

?>


Met bovenstaand wordt ervoor gezorgd dat als iemand al ingelogd is deze doorgestuurd wordt naar de index controller. Zo niet, controleerd hij het formulier, is deze valid dan wordt er geprobeerd de gebruiker te authenticeren. Ik gebruik in mijn geval een eigen Auth_Adapter dat komt omdat ik Doctrine gebruik. Gebruik je Zend Framework als DAL/ORM dan kun je Zend_Auth_Adapter_DbTable gebruiken als ik het goed heb.




Dat is het voor een groot deel. Je moet nog wel view scripts maken een layout en nog wat instellingen in je application.ini om te zorgen dat de frontcontroller plugins geladen worden en bijvoorbeeld je form objecten.

Ik hoop dat je er wat mee kan, mocht je ergens niet uitkomen post maar :)
 

03/08/2011 11:33:27
Quote Anchor link
Oke, bedankt. Maar is er ook een registratie veld? En, waar slaat hij alle gegevens op? In een database?
 
Kees Schepers

kees Schepers

03/08/2011 12:22:08
Quote Anchor link
Nee registratie is hier nog niet verwerkt. Je zou dan een registerAction kunnen maken in je loginController en een registerform object.

Wat betreft het ophalen van je gegevens en opslaan, hiervoor gebruik je dus de Zend_Auth_Adapter_DbTable mee, en dat object geef je de tabelnaam en columns mee e.d.

Zou ook een keer op ZendCasts kijken daar staat zeker een voorbeeldje tussen ergens:

http://www.zendcasts.com
 

03/08/2011 12:30:10
Quote Anchor link
Oke, dank je voor de goede tips. Ik vond op Google net deze tutorial. Is deze een beetje veilig? En zit hij een beetje goed in elkaar (script)?

http://www.sitemasters.be/tutorials/1/1/529/PHP/Zend_Auth_%28inloggen_mbv_Zend_Framework%29
Gewijzigd op 03/08/2011 13:09:26 door
 
- Ariën  -
Beheerder

- Ariën -

03/08/2011 12:44:11
Quote Anchor link
Welke tutorial?
 

03/08/2011 13:07:56
Quote Anchor link
Sorry, heb het al aangepast...
 
Kees Schepers

kees Schepers

03/08/2011 14:20:41
Quote Anchor link
Het zal vast veilig zijn maar vind het geen mooie tutorial omdat het geen frontcontroller plugin gebruikt, waardoor je overal en altijd moet controleren of iemand ingelogd is, tenzij je dat wilt uiteraard.
 

04/08/2011 23:05:04
Quote Anchor link
Tuurlijk, heb je misschien een goede tutorial? Misschien met database en registratie pagina?
 
Kees Schepers

kees Schepers

05/08/2011 10:51:19
Quote Anchor link
Ik heb deze tutorial gevolgd voor het inloggen; http://www.zendcasts.com/logging-in-users-using-doctrine-and-zend_auth/2010/01/

Maar dit is dan wel met Doctrine en niet Zend_Db. Maar jij vraagt volgens mij een compleet iets. Niet verkeerd bedoeld maar hoe goed beheer je al Zend Framework omdat je zegt ZF al redelijk onder de knie te hebben?

Als ik jou was zou ik je wat verdiepen in Forms, Zend_Auth, ORM in ZF of andere lib (Propal, Doctrine, etc). Dat zijn wel de basis elementen voor het opzetten van authenticatie en registratie pagina's e.d.

Het boek Leer jezelf professioneel Zend Framework van Wouter Tengeler is een echte aanrader daarvoor maar je zou ook een aantal video's kunnen kijken op ZendCasts en je ook al een heel eind :)
 

05/08/2011 11:53:36
Quote Anchor link
Oke, bedankt voor de info. Ik heb Zend Framework al wel aardig onder de knie. Ik vroeg inderdaad om een compleet systeem. Dit deed ik met een rede, het leek me wat veiliger. En dat boek, die heb ik inmiddels aangeschaft.

Edit:
Nog bedankt voor de tutorial, het is nu een stuk duidelijker geworden.
Gewijzigd op 05/08/2011 11:56:15 door
 
Niels K

Niels K

13/08/2011 14:11:21
Quote Anchor link
Misschien een wat late reactie, maar op Akrabat zijn ook hele mooie tutorials te vinden. De persoon die dat schrijft ontwikkeld volgens mij ook mee aan Zend Framework:

Akrabat
 



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.