Comments (5)
An ugly way of working around this is to override all the child actions and define the security annotation on the child method:
//BaseController.php
use JMS\SecurityExtraBundle\Annotation\Secure;
class BaseController extends Controller{
/**
* @Secure(roles="ROLE_MASTER")
*
*/
public function newAction()
{
//some actions
}
}
//ArticleController.php
use JMS\SecurityExtraBundle\Annotation\Secure;
use JMS\SecurityExtraBundle\Annotation\SatisfiesParentSecurityPolicy;
class ArticleController extends BaseController{
/**
* @Secure(roles="ROLE_MASTER")
* @SatisfiesParentSecurityPolicy
*
*/
public function newAction()
{
return self::parent();
}
}
pretty dangerous though since you have to override every action and you may not realize if you forget one or if you're adding new actions to the parent
from jmssecurityextrabundle.
Should be solved here
from jmssecurityextrabundle.
+1 Have the same issue. Workaround:
/**
* @Secure(roles="ROLE_MASTER")
* @SatisfiesParentSecurityPolicy
*
*/
public function newAction()
{
return self::parent();
}
is quite annoying when you have to copy paste more annotations (eg. Route, Template, ParamConverter).
from jmssecurityextrabundle.
This is not a workaround... It simply works, but should not be done never.
from jmssecurityextrabundle.
Overriding all the child actions somewhat defies the purpose of inheritance.
I have the same problem with routes I'd like to inherit to specialized controllers.
from jmssecurityextrabundle.
Related Issues (20)
- SecurityContext is deprecated from symfony 2.6
- Compatibility with PHP7 HOT 8
- Unresolved security metadata conflict for method
- Make it compatible with Symfony 3.0 HOT 19
- Impossible to install the last release 1.5.2 on php 7.0.0 HOT 6
- Call to undefined method JMS\SecurityExtraBundle\Security\Authorization\RememberingAccessDecisionManager::setVoters() HOT 7
- Symfony 3.0 ? HOT 7
- Compatibility with Symfony 3.1 HOT 12
- Parse error for PHP lower than 5.5
- method_access_control not doing anything HOT 1
- SF3: voters mismatch/misconfigured? HOT 2
- Bump version HOT 4
- Update CHANGELOG.md
- Loop of redirections with isAuthenticated in access_control
- addClassesToCompile is deprecated HOT 12
- @RunAs misinterpreted as an actual annotation when it shoud not
- Doesn't work with Symfony 4.0 yet HOT 1
- Insights Code scanning report
- Insights Code scanning report
- Bug : Final Class String HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jmssecurityextrabundle.