Zend Auth Module

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior full stack developer

Functie Als full stack 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 »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

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 »

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

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

17/02/2025 12:53:00
 
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.