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