-
Notifications
You must be signed in to change notification settings - Fork 141
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
Namespaces, architecture and style improvements #65
base: develop
Are you sure you want to change the base?
Conversation
Feature/architecture
Feature/database config
Style issues
This is a big merge that requires review. Will review and merge asap. |
Yep, next time I will make shorter MR, it will be easier to merge :) ! |
@Kern046 Good job! |
@runphp Ty :) ! Sadly it was never merged X) |
It's a good job. I'm waiting for it. |
@mayconfsbrito I'm afraid this branch won't be merged after all this time. Sadly because that was a lot of work. |
I would merge it but I don't have access. Jesse should do it, and I have no idea where he is! |
Is it possible to copy the repository and then merge this on the copy somewhere else? |
Yes, but you will lose the SEO associated to this repository, and all the stars, watching users etc... |
I agree. But then OWASP is not taking responsibility of anything, and similar things happened to a lot of projects. |
So if OWASP can't take the responsibility by this project, naturally it will be deprecated along the time because will not receive updates. We can create another repository with the merged branch and a new version. I'm using and enjoing it, but notably this project needs to be modernized with new good software pratices. |
I am the author of the project. I have done most of the code about 10 years back, and Jesse Burns has modernized the API.
|
@abiusx Congratulations! It's a good project and works fine. |
Thank you!
|
Cuz I had it back then? |
Is there a different primary fork for this project that you would recommend now? |
Unfortunately both people whom worked on this project (I am one of them) are no longer working on it. I am familiar with the code, and would be happy to assist you in adding any features you like.
|
@abiusx That's fine, I always expect people to have lives. I would just love to know which repo to use as the "canonical" one while including it in a production project. Whichever repo is likely to have more support, or be more up to date already, that's the one that I'd like to base my code on using. |
Hello there ! I didn't want my fork to replace the main repository, respecting the previous work. But it's true that in it's state, the whole project is blocked. On the other hand, I thought that the RBAC concept did lack of the context notion. That's why, I based my work on a NIST specification to implement a new Authorization library, called PHP-ABAC. With that one, you can allow access with rules depending on the user attributes, but also the resource's attributes and the environment. You can implement the RBAC concept inside ABAC, with roles as user attribute. Do no hesitate to look if this library suits your needs, and give feedbacks in any case if you would :) ! |
Thank you for letting us know Kern.
|
Who could we contact to get pull requests mergable on this project? By which I mean getting a few more people capable of merging in PRs, including you, maybe @Kern046 if he's interested. I am a php dev and would be interested in helping manage PRs on this project as well (and already have some changes to PR). So who is most likely to be able to open up access and move reviews & merging forward? |
Cross-reference: #79 |
I can try but am not sure if I have access. I can fork it on my Github and merge PR's there, and ask OWASP to link it to my repo (since I am the author?).
|
This step of the refactoring work is ended. You have now autoload based on namespaces with Composer, a better architecture for the code, and some improvements in terms of performance :
Using the SensioLabs tool Blackfire, we have the following report between the original, based on the execution of the same basic script :
https://blackfire.io/profiles/compare/0b5e7bcd-081a-4da4-b0d3-fddbe6d98c9f/graph
As you can see on Scrutinizer, there's a lot of work to do, but we are going to the right direction !
https://scrutinizer-ci.com/g/Kern046/rbac/
The way to provide a database connection to the library has been changed, and also the way to access the managers.
The library now provides the managers using Singleton on the main RBAC class, which have getters to get role, user and permissions managers.