Comments (1)
More information:
In JMS\SecurityExtraBundle\Security\Authorization\Expression\ExpressionCompiler
, we have:
<?php
public function compilePreconditions(ExpressionInterface $expr)
{
if ($typeCompiler = $this->findTypeCompiler(get_class($expr))) {
$typeCompiler->compilePreconditions($this, $expr);
return $this;
}
if ($expr instanceof FunctionExpression) {
$this->getFunctionCompiler($expr->name)->compilePreconditions($this, $expr);
foreach ($expr->args as $arg) {
$this->compilePreconditions($arg);
}
return $this;
}
if ($expr instanceof VariableExpression) {
$this->getVariableCompiler($expr->name)->compilePreconditions($this, $expr);
return $this;
}
return $this;
}
The $expr
argument looks like this:
JMS\SecurityExtraBundle\Security\Authorization\Expression\Ast\MethodCallExpression object {
CLASSNAME => (string) JMS\SecurityExtraBundle\Security\Authorization\Expression\Ast\MethodCallExpression
object => JMS\SecurityExtraBundle\Security\Authorization\Expression\Ast\ParameterExpression object {
CLASSNAME => (string) JMS\SecurityExtraBundle\Security\Authorization\Expression\Ast\ParameterExpression
name => (string) project
}
method => (string) getCompany
args => array(0)
}
and so the preconditions for this are not compiled because that type does not match any in the method.
Thus, once we get to JMS\SecurityExtraBundle\Security\Authorization\Expression\Compiler\ParameterExpressionCompiler
:
<?php
public function compile(ExpressionCompiler $compiler, ExpressionInterface $parameter)
{
$compiler
->compileInternal(new VariableExpression('object'))
->write("->arguments[");
$compiler
->write("\${$compiler->attributes['parameter_mapping_name']}")
->write("['{$parameter->name}']]")
;
}
$compiler->attributes['parameter_mapping_name']
is empty.
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.