Apache Shiro comes with some handy JSP tags for doing things like only showing content for anonymous users, logged in users, etc... I'm using Freemarker and didn't want to take a dependency on JSP just for Shiro, so I rewrote the tags for Freemarker.
Either download the dist/shiro-freemarker-tags-0.1-SNAPSHOT.jar or take all the java files and stick them in your project. Simple.
If there's enough demand, I could put this up on Maven.
Declare a shared variable called "shiro", and assign it to an instance of the ShiroTags class.
cfg.setSharedVariable("shiro", new ShiroTags());
You should then be able to use the tags in your Freemarker templates.
<@shiro.guest>Hello guest!</@shiro.guest>
Do what you want with it, just don't blame me if it breaks anything.