GithubHelp home page GithubHelp logo

flexberry / ember-flexberry-security Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 3.58 MB

[WIP] Role based security module, authentification and authorization module, audit module for ember-flexberry

Home Page: https://flexberry-ember-security-dev.firebaseapp.com

License: MIT License

JavaScript 83.35% HTML 0.31% Shell 0.14% Handlebars 15.93% Less 0.27%
ember-addon emberjs

ember-flexberry-security's People

Contributors

anisimova2020 avatar antoniv8 avatar antoniv87 avatar bratchikov avatar dependabot[bot] avatar dubrovinpavel avatar ehaberev avatar ember-tomster avatar kollegoff avatar nasutya avatar pashamasalkin avatar ronzhak avatar stero1d avatar teterinasvetlana avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ember-flexberry-security's Issues

Доработка миксинов

Цель

Доработать миксины отвечающие за вычитку связанных объектов полномочий. На данный момент пришлось полностью переопределять миксины, чтобы поменять хотя бы имя модели (используются объекты, наследующиеся от технологических полномочий).

Функциональные требования

  1. Какие-то простые параметры, такие как имя модели объекта полномочий, заголовки таблицы, можно вынести в поля, чтобы можно было их переопределить, не трогая метод.
  2. Можно добавить возможность указания представления для загрузки объектов полномочий - сейчас там 3 статических поля см.
  3. Получение ограничений тоже можно вынести в отдельный метод, чтобы можно было переопределить только его, без необходимости переопределять весь миксин. Например см.
    .where('isClass', FilterOperator.Eq, true)
  4. Хотелось бы иметь возможность регулировать набор типов доступа, который отображается, и для которого создаются SecurityAssignDataCellObject, без вмешательства в код миксина - см.

Требования к реализации

<Подсказки программисту как решить поставленную задачу>

Исходный код

<Указание на то, в каком репозитории вносить изменения, какую ветку взять за основу, в каких классах или файлах вести доработки, а что не трогать ни при каких условиях>

Проект на GitHub: <адрес>
Ветка: <имя ветки>

Документация

<Ссылки на документацию по дорабатываемой подсистеме, компоненту, классу или куда её добавить>

Тесты

<Тесты которые нужно разработать в рамках реализации этой задачи (модульные, интеграционные, сценарии тестирования)>

Аналоги, примеры реализации

<Примеры, куда ещё можно посмотреть, чтобы понять, что требуется сделать в конечном итоге. Какие функции нужно повторить, а какие нет>

Примерная оценка трудоёмкости

*<Сколько времени в часах может понадобиться на решение поставленной задачи среднему по знаниям и навыкам разработчику. В эту оценку времени в т.ч. входит работа над тестами и документацией. Задачи не должны быть сформулированы на длительности более 16 ч.

Полезные ссылки, скриншоты

<Дополнительный материал который может пригодиться, чтобы успешно справиться с поставленной задачей (номер задачи, запись на форуме и т.д.)>

Формы audit big data для ember 3

Необходимо добавить в security (версии с ember 3) формы для отображения нового аудита (Audit Big Data).

За образец можно взять эту реализацию для версии 2. Вот pr

https://github.com/Flexberry/ember-flexberry-security/pull/20/files

В качестве основной ветки взять

https://github.com/Flexberry/ember-flexberry-security/tree/feature-ember-update

pr в нее же делать

Audit big data для ember 3

Необходимо добавить в security (версии с ember 3) формы для отображения нового аудита (Audit Big Data).

За образец можно взять эту реализацию для версии 2. Вот pr

https://github.com/Flexberry/ember-flexberry-security/pull/20/files

В качестве основной ветки взять

https://github.com/Flexberry/ember-flexberry-security/tree/feature-ember-update

pr в нее же делать

Также, для доп понимания, можно посмотреть инструкцию по Audit Big Data в wiki

https://dis-dev-ops.ics.perm.ru/Common/CASEBERRY/_wiki/wikis/CASEBERRY.wiki?wikiVersion=GBwikiMaster&pagePath=%2F%D0%90%D1%83%D0%B4%D0%B8%D1%82%2FAudit%20Big%20Data%20(%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D1%81%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F%2C%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%D1%85)&pageId=970

Ошибки при сохранении роли с удаляемыми access и permission

Описание ошибки

  1. При сохрании формы роли, у которой отмечены какие-нибудь классы (т.е. есть permission и access), если снять все флаги со строки (т.е. ситуация, когда должны на удаление отправиться access и permission) возникают ошибки, связанные с тем что запрос удаления access объектов уходит ПОСЛЕ запроса удаления permission (в рамках которого детейлы access уже удаляются), см. конец миксина security-role-e-controller, где 2 цикла, в которых вызывается save объектов.
    При использовании решено пока что тем, что такая ситуация (удаления и access и соответствующего permission) обрабатывается отдельно
  2. При повторном нажатии на "Сохранить" возникает ошибка связанная с тем, что список объектов поля roleClasses остается с удаленными permission и вызывается delete от этого permission. Пока что решено проверкой на isDeleted перед вызовом delete модели permission.
    См.

Ожидаемое поведение

<Описание того как должно работать на самом деле>
<Ссылка на вариант с рабочей версией если есть>

Шаги воспроизведения

<Описание того, что нужно сделать, чтобы увидеть проблему>

  1. Зайти '...'
  2. Нажать на '...'
  3. Вот ошибка

Конфигурация

<Описание конфигурации на которой воспроизводится ошибка>

Ошибка воспроизводится на следующей конфигурации:
Устройство: (компьютер, планшет, смартфон)
ОС: (win, mono, ios)
Браузер: (Chrome, FireFox, Edge, IE, Safari)
Версия браузера: (x.x.x)
Версия технологического проекта: (номер версии или имя ветки)

Пути решения

<Описание того, в чём заключается проблема>
<Подсказки программисту как исправить ошибку>

Исходный код

<Указание на то, в каком репозитории вносить изменения, какую ветку взять за основу, в каких классах или файлах вести доработки, а что не трогать ни при каких условиях>

Проект на GitHub: <адрес>
Ветка: <имя ветки>

Документация

<Ссылки на документацию по исправляемой подсистеме, компоненту, классу>

Тесты

<Тесты которые нужно разработать в рамках этой задачи (модульные, интеграционные, сценарии тестирования), чтобы предотвратить такую ошибку в будущем>

Примерная оценка трудоёмкости

*<Сколько времени в часах может понадобиться на решение поставленной задачи среднему по знаниям и навыкам разработчику. В эту оценку времени в т.ч. входит работа над тестами и документацией. Задачи не должны быть сформулированы на длительности более 16 ч.

Скриншоты, полезные ссылки

<Скриншоты демонстрирующие ошибочное поведение>
<Дополнительный материал который может пригодиться, чтобы успешно исправить ошибку (номер задачи, запись на форуме и т.д.)>

Добавление поля комментария к агентам и субъектам полномочий

Цель

Добавление поля комментария к агентам и субъектам полномочий

Требования к реализации

  1. Наличие комментария на листформе и эдитформе объекта полномочий
  2. Отображение коментария объекта полномочий на списке при редактировании
  3. Форм полномочий https://github.com/Flexberry/ember-flexberry-security/tree/develop/app

Исходный код

**Проект на GitHub: https://github.com/Flexberry/ember-flexberry-security
Ветка: develop

Примерная оценка трудоёмкости

2

Ошибки при сохранении формы создания роли

Описание ошибки

Ошибка выявлена в ходе использования аддона, реализации аналогичной логики (напр. миксинов security-role-e-route.js и аналогичных)
При сохранении новой роли возникают ошибки связанные с тем, что происходит переход на эдит форму, в которую прокидывается готовая модель, вследствие чего не выполняется хук модели роута, в котором соответственно не срабатывает метод fillData.
Решилось выносом вызова fillData из хука модели в afterModel.

Ожидаемое поведение

<Описание того как должно работать на самом деле>
<Ссылка на вариант с рабочей версией если есть>

Шаги воспроизведения

<Описание того, что нужно сделать, чтобы увидеть проблему>

  1. Зайти '...'
  2. Нажать на '...'
  3. Вот ошибка

Конфигурация

<Описание конфигурации на которой воспроизводится ошибка>

Ошибка воспроизводится на следующей конфигурации:
Устройство: (компьютер, планшет, смартфон)
ОС: (win, mono, ios)
Браузер: (Chrome, FireFox, Edge, IE, Safari)
Версия браузера: (x.x.x)
Версия технологического проекта: (номер версии или имя ветки)

Пути решения

<Описание того, в чём заключается проблема>
<Подсказки программисту как исправить ошибку>

Исходный код

<Указание на то, в каком репозитории вносить изменения, какую ветку взять за основу, в каких классах или файлах вести доработки, а что не трогать ни при каких условиях>

Проект на GitHub: <адрес>
Ветка: <имя ветки>

Документация

<Ссылки на документацию по исправляемой подсистеме, компоненту, классу>

Тесты

<Тесты которые нужно разработать в рамках этой задачи (модульные, интеграционные, сценарии тестирования), чтобы предотвратить такую ошибку в будущем>

Примерная оценка трудоёмкости

*<Сколько времени в часах может понадобиться на решение поставленной задачи среднему по знаниям и навыкам разработчику. В эту оценку времени в т.ч. входит работа над тестами и документацией. Задачи не должны быть сформулированы на длительности более 16 ч.

Скриншоты, полезные ссылки

<Скриншоты демонстрирующие ошибочное поведение>
<Дополнительный материал который может пригодиться, чтобы успешно исправить ошибку (номер задачи, запись на форуме и т.д.)>

Display parent roles on roles page

Цель

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

Add validations for user edit form

Add validations for fields on user edit form.

  • name - required (remove top validator)
  • login - required (other forms are not required this field)
  • Email - email-type html field
  • password - password-type html field

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.