Itproger, аза с рамка Zend (3

Да се ​​научим да работим с Zend_Auth

  1. ID INT NOT NULL - уникален идентификатор;
  2. потребителско име VARCHAR (255) NOT NULL - поле за съхраняване на паролата на потребителя;
  3. парола VARCHAR (255) NOT NULL - областта за съхраняване на паролата. Забележка: В този урок ще се съхранява паролата в обичайната форма, без каквото и md5, соли и други подобни средства, за да се улесни разбирането на Zend_Auth;
  4. роля VARCHAR (255) НЕ NULL - поле за съхраняване на потребителска роля;

Поставете кода на вашата PhpMyAdmin, а на масата ще бъде създаден успешно:

Сега бих искал да се съсредоточи върху четвъртата област, която ще съдържа името на ролята, към които по един или друг потребител. В нашия пример, ние ще имаме един потребител с име администратор, парола администратор и администратор ролята на 🙂

За да се покаже Zend_Acl имаме нужда от още един тип потребител. Те ще бъдат в редовен посетител на нашия сайт - посетителя, но повече за това по-късно.

За да влезете в системата и да бъде в състояние да добавите любимите си филми, администраторът трябва да попълни формата, с която ние имаме все още. Така че нека да го създадете: отворите команден ред или конзола, отидете до основната директория на вашия сайт, и въведете следната команда:

Тази линия се създава нов файл в папката на приложението / форми. Отворете наскоро файл, за да се създаде форма за да влезете в системния администратор. Това е, което се впише там:

форма на работа, ние бяхме по-подробно в последния урок, така че тези, които изостават, аз ви съветвам да го гледате. Аз ще ви кажа накратко това, което правим тук: създаване на форма, състояща се от две текстови полета за потребителско име и парола, както и бутон, да представи, когато се натисне, той ще провери автентичността на администратора.

Сега в папка прилагане / контролери, имате нов контролер с набор от действия. Първото действие, което ние прилагаме, ще влезете:

За да създадете доста запис Zend_Auth обекта: Zend_Auth :: getInstance (); На следващо място, с помощта на един прост метод, удостоверяване, ние можем да се провери автентичността на данните, въвеждани. За да получите резултата, може да се използва, за да isValid ().

Сега е времето да се покаже формата на потребителя. Добавете следния код в login.phtml файл, намиращ се в заявлението / възгледи / скриптове / Удостоверяването:

За да подход действие индекс контролер за упълномощаване на потребителя не е заседнал в бял екран, да направи пренасочване:

Сега е време да се реализират много лесен за излизане. Ако си спомняте, за които бяхме създаде специална действие:

Запознайте се с Zend_Acl

Zend Framework разпределение на ролите традиционно изпълнява в Bootstrap.php, който се намира в прилагането на директорията. Този файл служи като един вид отправна точка за вашето приложение. Всички глобално, инициализация функционалност трябва да се поставя във файла. За метод Bootstrap.php да се стартира автоматично, трябва да укажете името _init префикс. Добавете следния код в този файл:

функция _initAcl инициализира ACL данни. На първо място, посочено от нас ресурсите на нашия сайт и ролята на използване addResource () и addRole (), а след това се определи каква е ролята на какви ресурси използвате функциите за разрешаване метод (). Обърнете внимание на процеса на приемственост, която присъства тук през цялото време. Ако се наследяват от администратора на гости, това означава, че всичко, което е на разположение на гостите - ще бъде на разположение и на администратора, но не и обратното.

Сега трябва да се напише плъгин, който ще провери роля на потребителя. Защо плъгин? Факт е, че ние трябва да се провери е извършена на всяка страница. Ето защо е препоръчително да се създаде приставка, която ще започне да работи преди образуването на страницата. Нещо като традиционна проверка в началото на файла.

Създаване на плъгини директория в директорията на приложението и поставете файла там AccessCheck.php. Съдържанието на този файл ще бъдат:

Ние трябва да се изпълнява този код, дори когато MVC, не може да се слеят заедно - така че ние използваме метод preDispatch () с броя на аргументи, които минахме, когато добавка.

Това е всичко. Просто и ефективно.

Надявам се ползва нашата серия от уроци за най-мощната PHP freymvorku - Zend Framework. Благодарение на него можете да създадете силен и надежден сайтове с един куп предварително създадени класове за повечето задачи. Представете си колко много имаш нужда от код за изпълнение на подобно заявление от нулата ...