bodyguard – Facelets EL functions for Spring Security
Yesterday I wrote a small set of EL functions to use with spring security, now I can get easy access to spring security roles and authentication info as well.
Here’s an example of how bodyguard can be used in your facelets code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <html xmlns="http://www.w3.org/1999/xhtml" xmlns:bg="http://faces.eti.br/bodyguard"> <body> <!-- Display logged message if the user is authenticated --> <t:div rendered="#{bg:isAuthenticated()}"> <h:outputText rendered="#{bg:remoteUser()}" value="Logged!"/> </t:div> <!-- Display a message indicating if the user is a user or admin --> <t:div rendered="#{bg:isUserInAnyRoles('ROLE_USER,ROLE_ADMIN')}"> <h:outputText value="The user #{bg:remoteUser()} is a user or admin."/> </t:div> <!-- Display a message indicating if the user isn't a user or admin --> <t:div rendered="#{bg:isUserNotInRoles('ROLE_USER,ROLE_ADMIN')}"> <h:outputText value="The user #{bg:remoteUser()} isn't a user or admin."/> </t:div> <!-- Display a message indicating if the user is a user and admin --> <t:div rendered="#{bg:isUserInAllRoles('ROLE_USER,ROLE_ADMIN')}"> <h:outputText value="The user #{bg:remoteUser()} is a user and admin."/> </t:div> </body> </html> |
You can download the bodyguard by clicking here and sources here.
Interesting Rogerio!
The friend of mine has implemented same thing too
But, your implementation seems a little more complete!
By any way, i\\\’ll show your code for him!
Congratulations!
November 9th, 2008 | #
Very good! This is open source?
Congratulations!
November 11th, 2008 | #
This is great!. I earlier tried to use acegi-jsf.jar to get this done.(with the modified one see http://vigilbose.blogspot.com/2008/06/integrating-spring-security-with.html) But when using 3rd party controls sometimes it’s not allowed to put additional tags around, when using nested components. But this approach works.
I found only one mistake in the sample xhtml file
{bg:isUserInAnyRoles(’ROLE_USER,ROLE_ADMIN’)} should be changed to
{bg:isUserInAnyRole(’ROLE_USER,ROLE_ADMIN’)}
November 18th, 2008 | #
I made some fixes on the post and in code too, thx for your comment Chandima!!!
November 18th, 2008 | #
O loco! Eu estava olhando o widget alí do lado.. bastante visitas ao redor do mundo. Que massa, parabéns!
November 30th, 2008 | #
simply rocks
thanks man,
i permitted myself to adapt the code, nothing publishable as most of what did was very specific.
thanks again,
February 23rd, 2009 | #
Hi Rogerio,
For necessity of a project i had to adapt the bodyguard project to work with Spring Security 3.x. You may see the new classe at my Gist, https://gist.github.com/1377051
November 18th, 2011 | #