1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/physoon-helios

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

Адрес Gitee:

https://gitee.com/physoon/helios.git

Структура helios:

  • helios-core — ядро фреймворка, точка входа в приложение;

  • helios-common — не зависящая от приложения общая информация: определения констант, обработка логов, коды ошибок, классы исключений и CObject, а также файлы зависимостей iptable, system.properties и log4j2.xml;

  • helios-tool — класс инструментов фреймворка. Это относительно независимый проект, который экспортирует jar-пакет без файлов конфигурации зависимостей;

  • helios-plugin:

    • helios-redis — требуется инициализация файла конфигурации базы данных;

    • helios-mongo — нужна инициализация пути к файлу конфигурации базы данных, например:
      public class AppConst {
      public static final String MONGO_CONF = "/config/mongo.properties";

        static {  
            MongoCliDrv.initMongoConfigFile(MONGO_CONF); // Инициализация MongoDB соединения с файлом конфигурации  
        }  

      }

  • helios-serv — микросервисная архитектура фреймворка.

Часть I. Описание пакета helios-tool.

Пакет содержит инструменты, которые реализуют функции, не связанные с бизнес-логикой. В него входят следующие инструменты:

  1. CheckCodeTool — инструмент для создания графических проверочных кодов;
  2. DateTimeTool — инструмент преобразования дат;
  3. EncryptTool — инструмент шифрования и дешифрования;
  4. ExcelTool — основанный на POI инструмент чтения и записи Excel;
  5. HttpTool — основанный на HttpClient инструмент HTTP-запросов;
  6. IptableTool — основанный на чистой библиотеке IP инструмент поиска IP-адресов. Перед использованием необходимо вызвать initIptable для указания библиотеки IP. Инициализацию нужно выполнить только один раз;
  7. JsonTool — инструмент, основанный на fastjson, для преобразования объектов (JavaBean, Map и т. д.) в строки и наоборот;
  8. Log4j2Tool — инструмент на основе log4j2, перед использованием которого необходимо вызвать loadLog42jConfigFile для указания файла конфигурации log4j2.xml. Инициализировать нужно только один раз;
  9. MailTool — инструмент отправки почты;
  10. PropTool — инструмент работы с файлами свойств;
  11. RegularTool — инструмент регулярных выражений, содержащий общие проверки на валидность, такие как проверка мобильных номеров и адресов электронной почты. Перед использованием нужно вызвать loadRegularConfigFile для указания конфигурационного файла по умолчанию. Инициализируется только один раз;
  12. StreamTool — набор общих функций для работы со стримами, таких как закрытие потока, преобразование стрима в строку, сжатие стрима и т.д.;
  13. StrTool — инструмент обработки строк;
  14. SysTool — системный инструмент, включающий получение информации о системе, операции с текстовыми файлами, операции с папками, генерацию случайных чисел, получение контрольной суммы байтового массива и получение CRC байтового массива;
  15. TreeTool — инструмент построения дерева каталогов.

Часть II. Общий пакет helios.

Реализует связь между helios-tool и helios-core через класс Consts, загружает параметры конфигурации из system.properties и указывает файлы конфигурации для инструментов Log42jTool, IpTableTool и RegularTool.
|- helios-common
| |- XmlCodeParaser — загрузка и преобразование таблицы кодов ошибок в сообщения об ошибках. Путь к файлу с кодами ошибок фиксирован;
| |- XmlFunParser — загрузка конфигурации системы и интерфейса приложения и их поиск. Пути к файлам конфигурации appApi.xml и sysApi.xml фиксированы;
| |- XmlFilterParser — загрузка файла конфигурации фильтра и вызов соответствующего интерфейса фильтра. Реализует авторизацию URL, требует реализации интерфейса IFilterObject. Путь к конфигурационному файлу filter.xml фиксирован.

Как реализовать авторизацию фильтра для доступа к файлам?

Есть два метода:

  1. Реализовать интерфейс Filter и настроить фильтр и соответствующие пути в web.xml;
  2. Использовать встроенный в фреймворк фильтр, который реализует интерфейс Filter, и предоставить интерфейс IFilterObject для авторизации доступа к файлам. Приложение должно реализовать метод authAccess класса IFilterObject, который принимает три параметра: путь из файла filter.xml, URL и идентификатор текущей сессии. Пример настройки фильтра в web.xml:
    FileFilter:
    /upload/doc/*:
    <config/filter.xml>:
    , где com.aeo.filter.UserDocUtils — это класс, реализующий метод authAccess интерфейса IFilterObject.

Путь — значение атрибута path из файла config/filter.xml,
URL — относительный путь к запрашиваемому URL,
sid — идентификатор текущей сессии.

Часть III. Ядро фреймворка helios-core.

Этот jar-файл реализует основные функции приложения, включая управление пользователями и аутентификацию. Класс Application инициализирует интерфейсы IAppDelegate и ICorpUserDelegate и вызывает их методы делегатов.
-IAppDelegate методы делегата:
||- onAfterEndSession — вызывается после завершения сеанса;
||- onAppInit — вызывается при инициализации приложения;
||- onAppFree — вызывается при закрытии приложения.

Таблица sys_func поля funcs описывает конфигурацию:
/**

  • Минимальная функциональная единица
  • tag параметр объясняет: tag=0 означает, что функция доступна как для платформы, так и для пользователей; tag=1 означает функцию администратора платформы; tag=2 означает пользовательскую функцию; tag=3 означает функцию, доступную как платформе, так и пользователям (аналогично 0).
  • 8 бит представляют функциональные возможности платформы и предприятия (00000000 представляет функцию, общую для платформы и пользователей; в настоящее время используются только 2 бита, например, 00000001[1] представляет функцию платформы; 00000010[2] представляет пользовательскую функцию; 00000011[3] представляет функцию, которая есть как у платформы, так и у пользователей).
    */
    [{"id":"qrycorp","title":"企业查询","tag":1},{"id":"delcorp","title":"删除企业","tag":1},{"id":"edtcorp","title":"企业更新","tag":2},{"id":"dtlcorp","title":"企业详情"}]

Изменения в журнале:

2022.01.21

  1. Убрать интерфейс getmenu, вместо него использовать getfunc для получения прав пользователя. Убрать интерфейс regcorp, вместо этого добавить возможность изменять информацию о предприятии при регистрации пользователя.
  2. Добавить интерфейс регистрации reguser, после регистрации пользователь становится администратором предприятия.

В проекте используется amzAds — версия 1.1 Amazon Ads.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Java-фреймворк для бэкенда Этот фреймворк создан на основе предыдущего фреймворка Pallas, в него добавлен механизм асинхронного выполнения сервлетов. Фреймворк разделён на три большие части: tool, common и core. Благодаря такому разделению во фреймворке уменьшена связанность между инструментальными классами и другими компонентами. С помощью инс... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/physoon-helios.git
git@api.gitlife.ru:oschina-mirror/physoon-helios.git
oschina-mirror
physoon-helios
physoon-helios
master