You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by jb...@apache.org on 2012/06/04 15:26:50 UTC
svn commit: r1345959 - in /shiro/trunk/samples: ./ quickstart-guice/
quickstart-guice/src/ quickstart-guice/src/main/
quickstart-guice/src/main/java/ quickstart-guice/src/main/resources/
Author: jbunting
Date: Mon Jun 4 13:26:49 2012
New Revision: 1345959
URL: http://svn.apache.org/viewvc?rev=1345959&view=rev
Log:
SHIRO-320: creating quickstart-guice - a modification of quickstart that uses guice
Added:
shiro/trunk/samples/quickstart-guice/
shiro/trunk/samples/quickstart-guice/pom.xml
shiro/trunk/samples/quickstart-guice/src/
shiro/trunk/samples/quickstart-guice/src/main/
shiro/trunk/samples/quickstart-guice/src/main/java/
shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartGuice.java
- copied, changed from r1345958, shiro/trunk/samples/quickstart/src/main/java/Quickstart.java
shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartShiroModule.java
shiro/trunk/samples/quickstart-guice/src/main/resources/
shiro/trunk/samples/quickstart-guice/src/main/resources/log4j.properties
- copied, changed from r1345958, shiro/trunk/samples/quickstart/src/main/resources/log4j.properties
shiro/trunk/samples/quickstart-guice/src/main/resources/shiro.ini
- copied, changed from r1345958, shiro/trunk/samples/quickstart/src/main/resources/shiro.ini
Modified:
shiro/trunk/samples/pom.xml
Modified: shiro/trunk/samples/pom.xml
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/pom.xml?rev=1345959&r1=1345958&r2=1345959&view=diff
==============================================================================
--- shiro/trunk/samples/pom.xml (original)
+++ shiro/trunk/samples/pom.xml Mon Jun 4 13:26:49 2012
@@ -40,6 +40,7 @@
<module>spring</module>
<module>spring-hibernate</module>
<module>guice</module>
+ <module>quickstart-guice</module>
</modules>
<reporting>
Added: shiro/trunk/samples/quickstart-guice/pom.xml
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/quickstart-guice/pom.xml?rev=1345959&view=auto
==============================================================================
--- shiro/trunk/samples/quickstart-guice/pom.xml (added)
+++ shiro/trunk/samples/quickstart-guice/pom.xml Mon Jun 4 13:26:49 2012
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>shiro-samples</artifactId>
+ <groupId>org.apache.shiro.samples</groupId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>samples-quickstart-guice</artifactId>
+ <name>Apache Shiro :: Samples :: Quick Start Guice</name>
+ <packaging>jar</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <classpathScope>test</classpathScope>
+ <mainClass>QuickstartGuice</mainClass>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-guice</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
Copied: shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartGuice.java (from r1345958, shiro/trunk/samples/quickstart/src/main/java/Quickstart.java)
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartGuice.java?p2=shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartGuice.java&p1=shiro/trunk/samples/quickstart/src/main/java/Quickstart.java&r1=1345958&r2=1345959&rev=1345959&view=diff
==============================================================================
--- shiro/trunk/samples/quickstart/src/main/java/Quickstart.java (original)
+++ shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartGuice.java Mon Jun 4 13:26:49 2012
@@ -17,6 +17,8 @@
* under the License.
*/
+import com.google.inject.Guice;
+import com.google.inject.Injector;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.*;
import org.apache.shiro.config.IniSecurityManagerFactory;
@@ -29,26 +31,20 @@ import org.slf4j.LoggerFactory;
/**
- * Simple Quickstart application showing how to use Shiro's API.
+ * Simple Quickstart application showing how to use Shiro's API with Guice integration.
*
* @since 0.9 RC2
*/
-public class Quickstart {
+public class QuickstartGuice {
- private static final transient Logger log = LoggerFactory.getLogger(Quickstart.class);
+ private static final transient Logger log = LoggerFactory.getLogger(QuickstartGuice.class);
public static void main(String[] args) {
- // The easiest way to create a Shiro SecurityManager with configured
- // realms, users, roles and permissions is to use the simple INI config.
- // We'll do that by using a factory that can ingest a .ini file and
- // return a SecurityManager instance:
-
- // Use the shiro.ini file at the root of the classpath
- // (file: and url: prefixes load from files and urls respectively):
- Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
- SecurityManager securityManager = factory.getInstance();
+ // We will utilize standard Guice bootstrapping to create a Shiro SecurityManager.
+ Injector injector = Guice.createInjector(new QuickstartShiroModule());
+ SecurityManager securityManager = injector.getInstance(SecurityManager.class);
// for this simple example quickstart, make the SecurityManager
// accessible as a JVM singleton. Most applications wouldn't do this
Added: shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartShiroModule.java
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartShiroModule.java?rev=1345959&view=auto
==============================================================================
--- shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartShiroModule.java (added)
+++ shiro/trunk/samples/quickstart-guice/src/main/java/QuickstartShiroModule.java Mon Jun 4 13:26:49 2012
@@ -0,0 +1,19 @@
+import com.google.inject.Provides;
+import org.apache.shiro.config.Ini;
+import org.apache.shiro.guice.ShiroModule;
+import org.apache.shiro.realm.text.IniRealm;
+
+public class QuickstartShiroModule extends ShiroModule {
+ protected void configureShiro() {
+ try {
+ bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class));
+ } catch (NoSuchMethodException e) {
+ addError(e);
+ }
+ }
+
+ @Provides
+ Ini loadShiroIni() {
+ return Ini.fromResourcePath("classpath:shiro.ini");
+ }
+}
Copied: shiro/trunk/samples/quickstart-guice/src/main/resources/log4j.properties (from r1345958, shiro/trunk/samples/quickstart/src/main/resources/log4j.properties)
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/quickstart-guice/src/main/resources/log4j.properties?p2=shiro/trunk/samples/quickstart-guice/src/main/resources/log4j.properties&p1=shiro/trunk/samples/quickstart/src/main/resources/log4j.properties&r1=1345958&r2=1345959&rev=1345959&view=diff
==============================================================================
(empty)
Copied: shiro/trunk/samples/quickstart-guice/src/main/resources/shiro.ini (from r1345958, shiro/trunk/samples/quickstart/src/main/resources/shiro.ini)
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/quickstart-guice/src/main/resources/shiro.ini?p2=shiro/trunk/samples/quickstart-guice/src/main/resources/shiro.ini&p1=shiro/trunk/samples/quickstart/src/main/resources/shiro.ini&r1=1345958&r2=1345959&rev=1345959&view=diff
==============================================================================
(empty)