News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Johannes Schmitt's Blog:
A New Killer Feature for Symfony2 Security
October 31, 2011 @ 14:26:08

Johannes Schmitt has a new post about his "killer feature" he's added to the security for Symfony2 framework (as a bundle) - a new customized expression-based query language that's compiled down to native PHP to make permissions checking simpler and faster.

If you have used the Symfony2 Security Component to any modest degree, you will know that we have a quite heavy voting system which uses attributes like "IS_AUTHENTICATED_FULLY" to make authorization decisions. [...] If you are concerned about performance, then you should not be all too generous with the isGranted() calls. The second option would work as well, but writing a new voter each time you need to make a new check does not really seem ideal either. Fortunately, we can do better.

He includes an example of this expression language in a direct isGranted() call, a string that checks to see if a user has three different roles, and a snippet showing the same thing in the docblock comment of a controller method. The second is a bit more complex, checking for an admin role or if the user is the one that should be deleted. You can find more doucmentation here.

0 comments voice your opinion now!
symfony2 framework security bundle expression language allow deny


blog comments powered by Disqus

Similar Posts

PHPClasses.org: 7 Reasons Why WordPress Made PHP Popular, not PHP Frameworks

Mambo Foundation Blog: Baking Mambo

Symfony Blog: Symfony 1.1 end of life approaching

Zend Developer Zone: Zend and IBM Post QEDWiki Screencast

Rob Allen's Blog: Zend Framework Tutorial Zip File Updated


Community Events

Don't see your event here?
Let us know!


opinion framework symfony2 php7 community version series laravel voicesoftheelephpant release application performance conference library interview extension example api introduction podcast

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework