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:55 UTC

svn commit: r1345960 - in /shiro/trunk: samples/guice/src/main/java/org/apache/shiro/samples/guice/ support/guice/src/test/java/org/apache/shiro/guice/ support/guice/src/test/java/org/apache/shiro/guice/web/

Author: jbunting
Date: Mon Jun  4 13:26:55 2012
New Revision: 1345960

URL: http://svn.apache.org/viewvc?rev=1345960&view=rev
Log:
SHIRO-320: adding a native sessions example to samples-guice

Added:
    shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroNativeSessionsServletModule.java
Modified:
    shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap.java
    shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java
    shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainResolverTest.java

Modified: shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap.java
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap.java?rev=1345960&r1=1345959&r2=1345960&view=diff
==============================================================================
--- shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap.java (original)
+++ shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap.java Mon Jun  4 13:26:55 2012
@@ -21,5 +21,6 @@ public class SampleShiroGuiceBootstrap e
     @Override
     protected Injector getInjector() {
         return Guice.createInjector(new SampleShiroServletModule(servletContext), ShiroWebModule.guiceFilterModule());
+//        return Guice.createInjector(new SampleShiroNativeSessionsServletModule(servletContext), ShiroWebModule.guiceFilterModule());
     }
 }

Added: shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroNativeSessionsServletModule.java
URL: http://svn.apache.org/viewvc/shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroNativeSessionsServletModule.java?rev=1345960&view=auto
==============================================================================
--- shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroNativeSessionsServletModule.java (added)
+++ shiro/trunk/samples/guice/src/main/java/org/apache/shiro/samples/guice/SampleShiroNativeSessionsServletModule.java Mon Jun  4 13:26:55 2012
@@ -0,0 +1,58 @@
+package org.apache.shiro.samples.guice;
+
+import com.google.inject.Provides;
+import com.google.inject.binder.AnnotatedBindingBuilder;
+import com.google.inject.name.Names;
+import org.apache.shiro.config.Ini;
+import org.apache.shiro.guice.web.ShiroWebModule;
+import org.apache.shiro.realm.text.IniRealm;
+import org.apache.shiro.session.mgt.DefaultSessionManager;
+import org.apache.shiro.session.mgt.SessionManager;
+import org.apache.shiro.web.servlet.Cookie;
+import org.apache.shiro.web.servlet.SimpleCookie;
+import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
+
+import javax.inject.Singleton;
+import javax.servlet.ServletContext;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class SampleShiroNativeSessionsServletModule extends ShiroWebModule {
+    private final ServletContext servletContext;
+
+    public SampleShiroNativeSessionsServletModule(ServletContext servletContext) {
+        super(servletContext);
+
+        this.servletContext = servletContext;
+    }
+
+    @Override
+    protected void configureShiroWeb() {
+        bindConstant().annotatedWith(Names.named("shiro.loginUrl")).to("/login.jsp");
+        try {
+            this.bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class));
+        } catch (NoSuchMethodException e) {
+            addError("Could not locate proper constructor for IniRealm.", e);
+        }
+
+        this.addFilterChain("/login.jsp", AUTHC);
+        this.addFilterChain("/logout", LOGOUT);
+        this.addFilterChain("/account/**", AUTHC);
+        this.addFilterChain("/remoting/**", AUTHC, config(ROLES, "b2bClient"), config(PERMS, "remote:invoke:lan,wan"));
+    }
+
+    @Provides
+    @Singleton
+    Ini loadShiroIni() throws MalformedURLException {
+        URL iniUrl = servletContext.getResource("/WEB-INF/shiro.ini");
+        return Ini.fromResourcePath("url:" + iniUrl.toExternalForm());
+    }
+
+    @Override
+    protected void bindSessionManager(AnnotatedBindingBuilder<SessionManager> bind) {
+        bind.to(DefaultWebSessionManager.class);
+        bindConstant().annotatedWith(Names.named("shiro.globalSessionTimeout")).to(5000L);
+        bind(DefaultWebSessionManager.class);
+        bind(Cookie.class).toInstance(new SimpleCookie("myCookie"));
+    }
+}

Modified: shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java
URL: http://svn.apache.org/viewvc/shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java?rev=1345960&r1=1345959&r2=1345960&view=diff
==============================================================================
--- shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java (original)
+++ shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java Mon Jun  4 13:26:55 2012
@@ -32,6 +32,7 @@ import org.easymock.IMocksControl;
 import org.junit.Test;
 
 import java.util.Collections;
+import java.util.Map;
 
 import static org.easymock.EasyMock.*;
 import static org.junit.Assert.*;
@@ -83,7 +84,7 @@ public class BeanTypeListenerTest {
         expect(injector.getInstance(Key.get(String.class, Names.named("shiro.myProperty")))).andReturn(property);
         expect(injector.getInstance(Key.get(String.class, Names.named("shiro.unavailableProperty"))))
                 .andThrow(new ConfigurationException(Collections.singleton(new Message("Not Available!"))));
-        expect(injector.getInstance(BeanTypeListener.MAP_KEY)).andReturn(Collections.EMPTY_MAP).anyTimes();
+        expect((Map)injector.getInstance(BeanTypeListener.MAP_KEY)).andReturn(Collections.EMPTY_MAP).anyTimes();
 
         control.replay();
 

Modified: shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainResolverTest.java
URL: http://svn.apache.org/viewvc/shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainResolverTest.java?rev=1345960&r1=1345959&r2=1345960&view=diff
==============================================================================
--- shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainResolverTest.java (original)
+++ shiro/trunk/support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainResolverTest.java Mon Jun  4 13:26:55 2012
@@ -88,9 +88,9 @@ public class SimpleFilterChainResolverTe
         Filter filter2a = ctrl.createMock(Filter.class);
         Filter filter2b = ctrl.createMock(Filter.class);
 
-        expect(injector.getInstance(key2a)).andReturn(filter2a);
+        expect((Filter)injector.getInstance(key2a)).andReturn(filter2a);
         filter2a.doFilter(same(request), same(response), anyObject(FilterChain.class));
-        expect(injector.getInstance(key2b)).andReturn(filter2b);
+        expect((Filter)injector.getInstance(key2b)).andReturn(filter2b);
         filter2b.doFilter(same(request), same(response), anyObject(FilterChain.class));
         originalChain.doFilter(request, response);
 



Re: svn commit: r1345960 - in /shiro/trunk: samples/guice/src/main/java/org/apache/shiro/samples/guice/ support/guice/src/test/java/org/apache/shiro/guice/ support/guice/src/test/java/org/apache/shiro/guice/web/

Posted by Jared Bunting <ja...@peachjean.com>.
Thanks.  Been meaning to do them for awhile now...
On Jun 4, 2012 3:57 PM, "Les Hazlewood" <lh...@apache.org> wrote:

> These are really great commits Jared - thanks for taking the time to
> put them together!
>
> Cheers,
>
> Les
>

Re: svn commit: r1345960 - in /shiro/trunk: samples/guice/src/main/java/org/apache/shiro/samples/guice/ support/guice/src/test/java/org/apache/shiro/guice/ support/guice/src/test/java/org/apache/shiro/guice/web/

Posted by Les Hazlewood <lh...@apache.org>.
These are really great commits Jared - thanks for taking the time to
put them together!

Cheers,

Les