Secure RESTful Web Services with Apache Shiro, Guice and Jersey
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Secure RESTful Web Services Application Sample Project with Apache Shiro 1.2.3, Jersey 1.18.1 and Google Guice 3.0

Dependencies included

  • Servlet 2.5
  • Jersey 1.18.1
  • Guice 3.0
  • Apache Shiro 1.2.3
  • guice-persist 3.0
  • gson 2.2.4
  • joda-time 2.4
  • JUnit 4.10


  • Java 7
  • Maven 3
  • Tomcat 7


  • Make the war file mvn clean package
  • Deploy the war file in Tomcat 7 with Eclipse or manually

After Deploy on Application Server

  • The REST WS are accessible under /rest/*
  • Front-End not yet implemented.

Creating a Local Maven Archetype

  • Generate an archetype: mvn archetype:create-from-project
  • Go to target/generated-sources/archetype and run mvn install
  • Create a fresh project from Archetype mvn archetype:generate -DarchetypeCatalog=local using com.pampanet:secure-rest-webapp-archetype
  • You can select the archetype from Eclipse IDE from the "New Maven Project" Wizard

Apache Shiro Filters

  • Shiro's Default Filters:
  • In com.pampanet.sample.shiro.modules.BootstrapShiroModule are all the filters, placed in order.
  • You can replace com.pampanet.sample.shiro.modules.ShiroAnnotationsModule with Shiro's default ShiroAopModule class.

Apache Shiro Users Configuration