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

Zend Developer Zone: Search Engine Friendly Websites with the Zend Framework

PHPClasses.org Blog: Book Review: Pro PHP: Patterns, Frameworks, Testing and More

Chris Shiflett's Blog: OWASP Spring of Code 2007

Tony Bibbs' Blog: Book Review: Pro PHP

Lukas Smith's Blog: My PHP framework winner predictions


Community Events





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


package tips language list symfony api series zendserver interview introduction community update podcast laravel opinion release install deployment library framework

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