-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Role based access control / backend #2790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conflicts: # kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/KafkaConnectController.java
Roles file example:
API response example:
|
iliax
reviewed
Oct 20, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/auth/AuthenticatedUser.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/MessagesController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/SchemasController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/ClusterAction.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/ConnectorAction.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/SchemaAction.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/TopicAction.java
Outdated
Show resolved
Hide resolved
...api/src/main/java/com/provectus/kafka/ui/service/rbac/extractor/OauthAuthorityExtractor.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
iliax
suggested changes
Oct 21, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
germanosin
previously requested changes
Oct 21, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/auth/OAuthSecurityConfig.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/AccessController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/BrokersController.java
Show resolved
Hide resolved
vrnsky
reviewed
Oct 24, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/auth/OAuthPropertiesConverter.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/AccessController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/ConsumerGroupsController.java
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/TopicsController.java
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
iliax
approved these changes
Oct 30, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, minor comments left
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/BrokersController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/TopicsController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Outdated
Show resolved
Hide resolved
# Conflicts: # kafka-ui-contract/src/main/resources/swagger/kafka-ui-api.yaml
# Conflicts: # kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/MessagesController.java
# Conflicts: # kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/BrokersController.java
iliax
suggested changes
Dec 21, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/KsqlController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/KafkaConnectController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/KafkaConnectController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/TopicsController.java
Outdated
Show resolved
Hide resolved
kafka-ui-api/src/test/java/com/provectus/kafka/ui/util/AccessControlServiceMock.java
Outdated
Show resolved
Hide resolved
iliax
reviewed
Dec 21, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/auth/OAuthSecurityConfig.java
Outdated
Show resolved
Hide resolved
germanosin
reviewed
Dec 21, 2022
...i-api/src/main/java/com/provectus/kafka/ui/config/auth/RbacAuthenticationSuccessHandler.java
Outdated
Show resolved
Hide resolved
germanosin
reviewed
Dec 21, 2022
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/rbac/AccessControlService.java
Show resolved
Hide resolved
iliax
approved these changes
Dec 21, 2022
Get rid of unnecessary cache, save groups into spring auth Review fixes
21d5276
to
6fb8119
Compare
* Initial modifications and mocking the For the RoleAccess * fix the Suspense issue in the components , comment the Tests to implement later * minor test comment * Roles and configuration and santization of data * initialize RoleCheck hook * make the App test file visible + minor modification in the permission hook * Structure the data so the Burger header toggle does not rerender the whole application * add tests to the NavBar and the Page container , add tests * NavBar and PageContainer bug fixes * Roles Testing code modification * covering Topics create button Actions, and Schema create button Actions * minor typescript code modifications for the cluster required parameter in the rolesHelper * minor typescript code modifications for the cluster required parameter in the rolesHelper * minor code modification to describe the Permission tests more clearly * Produce message Permissions with Tests Suites for Topic * Add Schema Edit Permission with tests * Minor role changes * Add ActionButton Component to handle the Button with tooltip * Add ActionButton Component to handle the Button with tooltip * Add Action Button to every Button create Action * ActionButton add test suites * usePermission code modification to include regular expressions * Abstract Actions Component for code repetition, add Configs Edit button Permission + add the tests suites to it. * Schema Remove functionality Permission and Test Suites + creation of the ActionDropdownItem for Actions * Topic Edit Clear and delete Topic , Permissions with test suites * ActionsCell For Topic Message Overview for permissions with tests suites * Connector Delete , Consumer Groups Permission + writing test suites * Add Permissions to the Topics ActionCell * Topic Table Permissions Tests Suites * Headless Logic for the Permission Part * add documentation for the headless Part of the permission + add modification of the data version 2 for efficient algorithmic lookup * replace modify data logic and isPermitted function to have faster access to the data * Add Permission helpers tests suites * usePermission hook test suites * BatchActionsBar add Permissions + minor modification in TopicTable tests suites * Statistics and Metrics code Permission + add test suites * Recreate Topic Permissions in the Topic page, add tests suites * Actions for the Connector components * Messages NavLink View Permission * Test suites messages code modifications * Permissions comment code modifications * Replacing the Mock Data With the actual code * Add ActionNavLink test suites * BatchActionsBar code smell modifications * maximizing the permissions tests suites * maximizing the permissions tests suites * maximizing the permissions tests suites * Tooltip code refactoring and fix the positions issue * permissions increase the tests coverage * add user info at the navigation header and tests suites * Add Global Schema Selector Permissions with test suites * Roles minor code removal * Change the Action Component form hook mixin approach to declarative props approach * add isPermitted function for multiple Actions , adding tests suites for this particular case * remove redundant Permissions test blocks from the components * remove redundant Permissions test blocks from the components * Action Buttons test suites' coverage + generalizing the code of the Actions * add invalid Permission check in Action Components tests suites * Modularization of Actions Components * Modularization of Actions Components by adding DropDownAction to it. * Reflect the BE Changes to the UI , by changing the default behavior or the testing of roles. * Reflect the BE Changes to the UI , by changing the default behavior or the testing of roles. * Get rid of not necessary usePermission mocks * Modifications in the UserInfo data , to consider the UI without any login functionality * minor code modifications in the BatchActionBar component * change the Query key for the user info * change the default message for the tooltip * Fix the Create Role Access for Topics and Schemas * ListPage Connector create permissions * add Headless logic for Create Permission with test suites. + add react hook render-er * Create Button ActionButton logic implementation * Remove Code smells , by removing the duplications * increase the test suites for isPermittedToCreate logic * increase the test suites for isPermittedToCreate logic * Change the UserResourceType Enum with the new value * Apply New Resource Creation validation, for Topic, Schema, Connector * Apply New Resource Creation validation, for Topic, Schema, Connector * minor code refactor modifications * minor code modification in the topics useCreate hook * Async Validation for all the Create Pages * caching test for optimal performance in async validation schemas * Reverting the Front End Validation * Reverting the Front End Validation * Authorization API minor syntax modifications * fix SmokeTests Co-authored-by: Roman Zabaluev <[email protected]> Co-authored-by: VladSenyuta <[email protected]>
Mgrdich
approved these changes
Dec 22, 2022
VladSenyuta
approved these changes
Dec 22, 2022
Kudos, SonarCloud Quality Gate passed! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes did you make? (Give an overview)
Is there anything you'd like reviewers to focus on?
How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)
Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)
Check out Contributing and Code of Conduct
A picture of a cute animal (not mandatory but encouraged)