Zend_Auth – přihlašování a kontrola – screencast

Ahoj, natočili jsme pro vás předvánoční screencast o Zend_Auth, uvidíte jak vyřešit přihlašování uživatelů a následnou kontrolu, zda mají přístup do některých částí aplikace.

Zend Framework – Zend_Auth (Czech) from Martin Hujer on Vimeo.

Přihlašování a odhlašování pomocí Zend_Auth, kontrola controller pluginem

(přepněte si na fullscreen)

Stáhněte si zdrojáky k aplikaci

EDIT: Omlouváme se za chybičku v aplikaci, samozřejmě v Controller_Plu­gin_Auth má být $controller == ‚index‘ místo $controller = ‚index‘. (V přiložených zdrojácích opraveno.)

Martin Hujer & Tomáš Fejfar

18 thoughts on “Zend_Auth – přihlašování a kontrola – screencast

  1. Ahoj,

    hosi super, jen tak dal, jsem moc rad, ze se nekdo z te nase male krajiny rozhodl pro nejake screencasty o ZF a doufam, ze vam to i vydrzi a dockame se dalsich zajimavych screencastu.

    Zatim je to taka slaba odnoz http://www.zendcasts.com/ ale to vubec nevadi a moc vam fandim.

    Nevim ci uz mate nejake dalsi namety co dal atd., ale ja bych byl moooc vdecny, kdybyze vymyslite nejake screencasty ohledne domain modelu, tedy jak resit pristup k DB pomoci Zend_Db s napojenim na Zend_Form, neco jak bylo publikovano na http://www.zendcasts.com/tag/zend_db/ , tedy jak spravne programove navrhnout domain model a co je asi nejozehavesi cast jsou vztahy 1:N a M:N + napojeni na Zend_Form.

    Nekdo ma rad a uprednostuje DataMapper, nekdo ActiveRecord a nekdo jen Service Layers nad Zend_Db, fakt by mne mooc zajimalo, jak k teto problematice pristupujete vy ;)

    Tymto bych vas chtel i pozadat o vytvoreni serialu (rady screencastu zamerenych na tuto problematiku)

    Toto je asi pro kazdeho kdo pouziva ZF asi ta nejdulezitejsi!! a nejzadanejsi problematika a bylo by hodne zajimave videt, jak k tomuto problemu pristupujete vy (kazdy ma jiny nazor a je tu hodne rozporu, ale kazdy ma neco do sebe ;) ) a screencastu s touto problematikou neni nidky dost.
    Podpora ZF a Doctrine je jina cast a podle mne je zatim na ZF + Doctrine cas, nejmene dovtedy, dokup nebude Doctrine v ZF plne podporovano.

    A dalsi vec co se mo hodne libi je, ze vase casty maji nejakou tu autentitu, tedy je videt kdo to dela a vkladate do toho sve tvare, … coz sa malokdy (vecsinou v zahranici) vidi, vecsinou je to jen screen s Eclipse a hlas a nic vic, ale vy to toho vklade i kus sebe a tym padem casty jsou blize lidem ;)

    Takze hodne zdaru, hlavne nech to vydrzi a moc vam preji pekne a vesele vanoci svatky a stastny novy rok ;)

    Moc vam dekuji za vybory (cesky !!) cast, ahoj

  2. Hrůůů,
    hoši, fakt vostrý .)))

    Jen bych opravil, je tam chybka
    $controller = ‚index‘
    má být nejspíš
    $controller == ‚index‘

  3. Fajn príklad
    Ešte by som do formu doplnil ochranu proti utoku CSRF (Cross-Site Request Forgery) cize Hash element, dalej osolit heslo a je to bezpecne a pouzitelne.
    Tesim sa na dalsi screencast

  4. JJ. Měli sme v plánu to ukázat přímo ve screencastu, ale už takhle to je na 30min, takže sme si řikali, že tyhle věci dáme až jestli budem dělat nějaký screencast o bezpečnostních best-practices.

    kevujin: Jej, blbá chyba :X Já už se snažím to psát zendím způsobem – opačně (např.: null == $var), což vyhodí chybu, když člověk zapomene ;) Ale občas to ještě ulítne… :)

  5. taky mi blblo kodovani tak to resim takhle:
    do .htaccess projektu pridat
    AddDefaultChar­set UTF-8

  6. Taky moc díky hoši, děláte opravdu povedená videa a jsem za ně moc rád!

  7. Tak to kódování by se dalo nastavit tak, že by se initnul layout nebo view v Bootstrapu a do něj se to nastavilo. Jenže sme to nechtěli zanášet do toho screencastu, protože by to byl nepotřebný balast, který většinu lidí nezajímá, protože mají hotovou aplikaci a chtějí do ní jen přidat přihlašování.

    Takhle každý vidí, že nám to taky nejede. Jinak by to bylo „Fajn screencast, ale nedaří se mi zprovoznit kodování“ :)

  8. Add kódováni: layout není třeba inicializovat, úplně postačí v application.ini řádek:
    resources.view­.encoding = „UTF-8“

  9. Díky za upřesnění. Rozhodně to zahrneme jako upozornění v příštim screencastu :)

    V Zend_Application si musím ještě tyhle featury dostudovat – především co všechno stačí dopsat do app.ini ;) Ve svých aplikacích mám zatím vlastní bootstrap „špageťák“ ala ZF1.5 protože nebyl čas to přepsat a otestovat a v Application dělám jen na screencasty nebo věci co generuji přes Zend_Tool.

    Jaké bootstrapy používáte vy? Špageťáky, vlastní třídy nebo 1.8kový Zendí?

  10. Díky za videa, fandím vám a doufám že tyto nebudou na dlouhou dobu poslední, díky moc.

  11. Jeste jedna poznamka/prosba.
    Jak pridat hlasku, kam, "

    • uzivatel prave prihlasen,
    • uzivatel prave odhlasen
    • musite byt prihlasen

    nebo pokud je prihlasen a je na „tajne strance“ tak nic :-)

    jinak receno..jak predat hlasku z plugin/Auth.php

  12. FlashMessenger ?

    Nějak takhle…

    $fm = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')
    $fm->addMessage("zpráva");

    Ovšem lepší by bylo přesměrovat na přihlašovací stránku, kde by bylo napsáno, že pro zobrazení obsahu musí být přihlášen.

    Hlášky že byl přihlášen/odhlášen bych přidával z controlleru.

  13. diky za snahu, ale nejak jsem to uplne nepochopil..

    > „Hlášky že byl přihlášen/odhlášen bych přidával z controlleru.“

    myslis predavat v GETu?
    neco jako..
    $this->_redirect ( ‚/vnitrek/index/hlas­ka/praveprihla­sen‘ );

    kdyz jsem si zkusil ulozit hlasku do view..neco jako
    $this->view->hlaska = ‚OK PRIHLASENI‘;
    se po redictu vymazala.. :-(

    no zacinam no :-)
    DIKY

  14. hlášky, že byl přihlášen/odhlášen bych přidával do FlashMessengeru z controlleru.

    Objekt $this->view se přesměrováním zruší, FlashMessnger si data ukládá do session.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>