Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
[Security] AccessDecisionManager refactoring#942
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
…egies into separate AccessStrategyInterface classes.
… previous refactoring.
schmittjoh commentedMay 14, 2011
There is already one interface We could still split the strategies in different classes using inheritance instead of composition; something like this:
|
hhamon commentedMay 14, 2011
That seems a good idea too! |
fabpot commentedMay 14, 2011
Closing this PR... and waiting for another one based on Johannes idea. |
hhamon commentedMay 16, 2011
I'm working on it ;) |
…ss decision manager service (xabbuh)This PR was merged into the 3.4 branch.Discussion----------[Security] make it possible to configure a custom access decision manager service| Q | A || --- | --- || Branch? | 3.4 || Bug fix? | no || New feature? | yes || BC breaks? | no || Deprecations? | no || Tests pass? | yes || Fixed tickets |#942,#14049,#15295,#16828,#16843, || License | MIT || Doc PR | TODO |These changes will make it possible to let users define their own voting strategies without the need for custom compiler passes that replace the built-in `AccessDecisionManager` (see linked issues in the PR table for some use cases).Commits-------e0913a2 add option to define the access decision manager
Hi Fabien, hi Johannes,
I've tried to refactor the AccessDecisionManager class in the security component. I split the three access decision strategies (affirmative, consensus and unanimous) into three dedicated classes. Each strategy class implements the AccessStrategyInterface interface to enforce they have the same public API.
With this changeset, it's now easier to add new access decision strategies into the AccessDecisionManager object.
I couldn't manage to check if any regression came up because I have the following exception:
I'm not sure this exception is due to my changeset. Could you please test this pull request or help me to find and understand why I have this exception.
Thanks.
Hugo.