{"action":"created","issue":{"url":"https://api.github.com/repos/symfony/symfony/issues/16828","labels_url":"https://api.github.com/repos/symfony/symfony/issues/16828/labels{/name}","comments_url":"https://api.github.com/repos/symfony/symfony/issues/16828/comments","events_url":"https://api.github.com/repos/symfony/symfony/issues/16828/events","html_url":"https://github.com/symfony/symfony/pull/16828","id":120292472,"number":16828,"title":"[Security] Make it possible to give voters a weight in consensus decisions","user":{"login":"tPl0ch","id":115348,"avatar_url":"https://avatars.githubusercontent.com/u/115348?v=3","gravatar_id":"","url":"https://api.github.com/users/tPl0ch","html_url":"https://github.com/tPl0ch","followers_url":"https://api.github.com/users/tPl0ch/followers","following_url":"https://api.github.com/users/tPl0ch/following{/other_user}","gists_url":"https://api.github.com/users/tPl0ch/gists{/gist_id}","starred_url":"https://api.github.com/users/tPl0ch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tPl0ch/subscriptions","organizations_url":"https://api.github.com/users/tPl0ch/orgs","repos_url":"https://api.github.com/users/tPl0ch/repos","events_url":"https://api.github.com/users/tPl0ch/events{/privacy}","received_events_url":"https://api.github.com/users/tPl0ch/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/symfony/symfony/labels/Status:%20Needs%20Review","name":"Status: Needs Review","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-03T23:06:27Z","updated_at":"2015-12-04T22:37:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/symfony/symfony/pulls/16828","html_url":"https://github.com/symfony/symfony/pull/16828","diff_url":"https://github.com/symfony/symfony/pull/16828.diff","patch_url":"https://github.com/symfony/symfony/pull/16828.patch"},"body":"After watching the \"Dig in Security with Symfony\" talk at SymfonyCon today, I\r\n realized that there was no weighting mechanism in the current implementation.\r\n\r\nIt is not always true that each voter has the equal weight within a majority\r\n vote. This feature PR accounts for that in a BC way.\r\n\r\n| Q             | A\r\n| ------------- | ---\r\n| Bug fix?      | no\r\n| New feature?  | yes\r\n| BC breaks?    | no\r\n| Deprecations? | no\r\n| Tests pass?   | yes\r\n| Fixed tickets | None\r\n| License       | MIT\r\n| Doc PR        | None\r\n\r\nCommit recap from rebase:\r\n\r\n- Introduced the `WeightedVoterInterface` that extends the `VoterInterface`\r\n- Added the abstract `WeightedVoter` as an easily usable base class\r\n- Added the `Weight` decorator to extend existing Voters with weighting\r\n- Refactored test structures for `Voter`\r\n- Added missing methods in `Weight` decorator required by `VoterInterface`\r\n- Added test case for `Weight` decorator\r\n- Added test case for abstract `WeightedVoter`\r\n- Added feature tests to `AccessDecisionManagerTest`\r\n- Implemented feature in `AccessDecisionManager`"},"comment":{"url":"https://api.github.com/repos/symfony/symfony/issues/comments/162101382","html_url":"https://github.com/symfony/symfony/pull/16828#issuecomment-162101382","issue_url":"https://api.github.com/repos/symfony/symfony/issues/16828","id":162101382,"user":{"login":"dosten","id":510842,"avatar_url":"https://avatars.githubusercontent.com/u/510842?v=3","gravatar_id":"","url":"https://api.github.com/users/dosten","html_url":"https://github.com/dosten","followers_url":"https://api.github.com/users/dosten/followers","following_url":"https://api.github.com/users/dosten/following{/other_user}","gists_url":"https://api.github.com/users/dosten/gists{/gist_id}","starred_url":"https://api.github.com/users/dosten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dosten/subscriptions","organizations_url":"https://api.github.com/users/dosten/orgs","repos_url":"https://api.github.com/users/dosten/repos","events_url":"https://api.github.com/users/dosten/events{/privacy}","received_events_url":"https://api.github.com/users/dosten/received_events","type":"User","site_admin":false},"created_at":"2015-12-04T22:37:29Z","updated_at":"2015-12-04T22:37:29Z","body":"@tPl0ch 2.8 is already released, so no new features are accepted, only bug fixes, same for 3.0. This new feature must be merged in master to be included in the 3.1 release."}}