forum.bitel.ru
http://forum.bitel.ru/

Задействовать систему прав биллинга
http://forum.bitel.ru/viewtopic.php?f=22&t=8016
Страница 1 из 1

Автор:  Akhmat [ 10 май 2013, 22:11 ]
Заголовок сообщения:  Задействовать систему прав биллинга

В общем, пишу надстройку расширяющую функционал биллинга, с веб мордой. Доступ к ней будут иметь пользователи биллинга. создаю таблицы в бд биллинга, т.к. для ее работы нужна некоторые данные биллинга. Чтобы не городить управление пользователями, разграничение прав в своей надстройке, хочу задейстовать биллинговскую систему пользователи/права.

Поковырял схему БД, очень понравилось как сделана система прав, просто и универсально. Ну и что делаю:
1. в таблицу installed_modules создал запись для своей надстройки (заполнил только поля name(mymodule), title, type(сначала module, потом plugin),enabled=1)
2. в таблицу module добавил запись с полями title и name(mymodule)
3. и в таблицу bgs_module_action также добавил xml файл с правами, для своей надстройки с именем mymodule.

Перегружаю биллинг. Если type=module в installed_modules, то говорит не найдена лицензия на модуль, если type=plugin, ошибок нет. и в том и в другом случае в редактировании прав пользователя не появляются права для mymodule

Можно ли задействовать управление системой прав из биллинга для внешней системы?

Автор:  Akhmat [ 13 май 2013, 15:45 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

м? разработчики. можно галки с правами тыркать для моего модуля? через клиента биллинга

Автор:  Akhmat [ 14 май 2013, 13:22 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

в существующие модули добавляю раздел со своими действия, и вполне норм работает. отдельным моулем чтобы шли подскажете как сделать?

Автор:  dimOn [ 14 май 2013, 13:25 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

да должно работать всё. тока будет просить лицензию. в случае плагина тоже должно, вы просто что-то не то сделали. скорее всего физически плагин.xml не создали.

Автор:  Akhmat [ 14 май 2013, 14:05 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

Создали mymodule.xml в папке actions. Он содержит действия модуля bill, для чистоты эксперимента.
в installed_modules запись для name=mymodule, title='abv' типа plugin и enabled=1. и в таблицу bgs_module_action продублировал файл действий для mymodule. раздел отдельный не появился.

Автор:  dimOn [ 14 май 2013, 14:18 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

нене, нужно не акшенс. а именно пакет плагина, с файлом plugin.xml внутри. ищутся эти файлы физически по всем CLASSPATH, а потом уже лезется в БД за этими плагинами (где name=id плагина см.ниже). например такой минимальный:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="ru.bitel.bgbilling.plugins.blabla"
      name="blabla"
      version="1">
</plugin>

Автор:  dimOn [ 14 май 2013, 14:19 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

В экшенс хмл кстати тоже должен называться полным именем id плагина.

Автор:  dimOn [ 14 май 2013, 14:20 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

При загрузке сервера в DEBUG кстати пишется что как и где он нашёл, типа:
Код:
found plugin xml: блабла

Автор:  Akhmat [ 14 май 2013, 14:32 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

где он этот plugin.xml? или где создать?

Автор:  Akhmat [ 14 май 2013, 14:40 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

а, нашел, в джар файле. так у меня же не джава модуль. просто на пхп надстройка. Попробую фейковый jar с plugin.xml создать, может прокатит.

Автор:  dimOn [ 14 май 2013, 15:11 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

можно и не jar просто в класпафах тоже ищет

Автор:  Akhmat [ 15 май 2013, 02:59 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

1. вариант просто подсунуть файл plugin.xml в класспаф не срабатывает. игнорируется этот файл. или неправильно понял нюансы.
2. фейковый jar.
распаковал плагин cladr, удалил все лишнее, кроме BGPluginInfo. Его перекомпилировал, и отредактировал plugin.xml как надо.
Плагин ПОДГРУЗИЛСЯ! права ПОЯВИЛИСЬ! Сказка! Слава Богам!
но, черт побери, говорит нет лицензии на твой плагин. Если плагин отключить, то пропадает возможность редактирования прав этого плагина.
щекотливый момент получается :) Как разрешить?

Автор:  dimOn [ 15 май 2013, 14:31 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

ну, никак в данный момент. мы так и не придумали как решить проблему с лицензией для самодельных модулей/плагинов. отключать выборочно в коде - потенциальная дыра. у меня только один вариант - фейковая лицензия на фейковый плагин с определёным фейковым именем, которым должны все называть свои поделки.

Автор:  Akhmat [ 16 май 2013, 12:06 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

ясно, спасибо. ну, тогда в существующий модуль подсовывать. Пока не придумаете.

Автор:  snark [ 17 май 2013, 01:08 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

Может будете проверять имя в духе этого:
Код:
userPlugin[0-9]?

Цифра в конце - чтобы можно было > 1 юзерского плагина использовать.

Автор:  dimOn [ 17 май 2013, 10:32 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

Ну, не проверять, проверять это плохо, нужно сделать заранее лицензии на несколько таких имён. Я про это.

Автор:  snark [ 17 май 2013, 14:20 ]
Заголовок сообщения:  Re: Задействовать систему прав биллинга

Нагенерить 10 лицензий под такой шаблон и все.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/