Обновить
Комментарии 12
Классная идея. Программлю на zf и давно ждал чего-то подобного.
Вставляем в адресную строку
javascript:App.acl.allow('guest', 'restricted/index');
и ходим куда хотим
примерно так и получается, когда люди пишут «систему безопасности» за выходные =(

более того, я совершенно не понял цели этого фреймвора
Небольшой оффтопик-вопрос насчет лицензии GPL, которую использует Ext JS.

Я сравнивал Ext JS и Qooxdoo, одним из аспектов был вопрос лицензии. У Qooxdoo — LGPL, тут всё понятно: пользуй как хочешь. У Ext JS — GPL.

Я написал на соответствующий имэйл Ext JS вопрос такого содержания: «Я не собираюсь открывать исходные коды своего продукта, использующего немодифицированный Ext JS. Имею ли я право использовать Ext JS бесплатно?» Ответ был такого смысла: «Либо открывайте исходные коды продукта и пользуйтесь Ext JS бесплатно по GPL, либо покупайте платную лицензию. В противном случае вы нарушаете закон».

Я даже уточнил у них: «Если какой-то сайт/вэб-приложение использует Ext JS и не делится исходным кодом, то они должны вам денег?» Ответ был примерно такой: «В общем случае, да. Если наткнетесь на подобную проблему, отпишитесь нам».

Но ведь многие другие GPL-продукты не требуют денег в случае неоткрытия исходных кодов. К примеру, Drupal: десятки тысяч сайтов построены на нем и не делятся собственными наработками, при этом никто и не думает их преследовать по закону или требовать открытия наработок.

Буду благодарен за небольшой ликбез. :)
GPL требует открытия исходников только в том случае, если вы распространяете производный продукт, т.е. даёте скачивать копии и устанавливать их у себя. Если вы сделали сайт на базе GPL-продуктов и он крутится только на ваших серверах, то вы ничего не нарушаете.
Да, на эту тему уже не раз были споры на хабре и каждый раз приходили к тому, что если делаете для себя и не продаете результаты своей работы — то условия GPL не нарушаются. Вот только я не знаю что будет в случае, если вы делаете SaaS. То есть когда Вы берете деньги за пользование продуктом, который физически расположен на Вашем сервере.
Ничего не будет. GPL пофиг, берёте вы деньги за пользование или нет. Имеет значение только распространение копий. Правда это касается 2.1. Что там в третьей накрутили, я пока не разобрался :) Но вроде тоже всё ок.
Зачем все это?
Если хотим ограничить доступ, после авторизации передаем в клиентский JS данные о правах к модулям и их уровень.
Права доступа проверяем непосредственно в объекте (Ext), и при совершении каких либо действий проверяем права на сервере в ZF.
НЛО прилетело и опубликовало эту надпись здесь
Замечательная работа. Если каркас будет использоваться в больших приложениях, подумайте также над байндингом своего каркаса с GWT, как это сделано для оригинальной библиотеки ExtJs. Дело в том, что большие приложения, выходящие за рамки админок, куда легче писать с использованием GWT.
И быстрее. Потому, что при разработке больших приложений хороших Javascript программистов в комманде от силы 2-3. А хороших программистов на Java обычно гораздо больше, ну а GWT, как известно, переводит написанный на Java код на Javascript.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.