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

Jared White's Blog: Willowgarden Highlight: Template Modes

Shane O'Sullivan's Blog: The Cake PHP MVC framework and its Amazing Technicolor Documentation

DevShed: Filters and Login Systems for Web Application Security

Symfony Blog: Symfony 1.0.10 is Out

TechTarget.com: Our Favorite Cheat Sheets


Community Events





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


podcast language developer release testing configure threedevsandamaybe introduction code wordpress install framework community opinion refactor unittest list interview series laravel

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