You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shiro.apache.org by "Brian Demers (JIRA)" <ji...@apache.org> on 2016/07/01 14:45:11 UTC

[jira] [Commented] (SHIRO-493) shiro-guice not working with the guice 4.x

    [ https://issues.apache.org/jira/browse/SHIRO-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15359069#comment-15359069 ] 

Brian Demers commented on SHIRO-493:
------------------------------------

Thanks [~tom-11]! This is a great stop gap.  The ShiroWebModule could be extended in an application to add a similar fix.

We cannot require a bump in a major dependency version in 1.x.  
That said, we could support Guice 4.x if done in a backwards compatible way ( where both 3.x and 4.x work ), and the addFilterChain method works with custom filters
https://github.com/tom-haines/shiro/commit/a3b759a618ff26a487ab76b7045e436db8c2fc19#diff-359a7b20d3b7fdcc0ffce11ad57d6e1cR248

*NOTE:* Based on the description and comments, i'm assuming this problem also exists with 4.1, so I've updated the title of this issue so it doesn't look like the problem is just with the beta version.

> shiro-guice not working with the guice 4.x
> ------------------------------------------
>
>                 Key: SHIRO-493
>                 URL: https://issues.apache.org/jira/browse/SHIRO-493
>             Project: Shiro
>          Issue Type: Bug
>          Components: Integration: Guice
>    Affects Versions: 1.2.3
>         Environment: java version "1.7.0_51"
> Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
> Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
>            Reporter: Filipe Sousa
>            Assignee: Jared Bunting
>
> Switching from guice 3.0 to guice 4 beta is causing some problems.
> public class SecurityModule extends ShiroWebModule {
>     public SecurityModule(ServletContext servletContext) {
>         super(servletContext);
>     }
>     @Override
>     protected void configureShiroWeb() {
>         bind(Realm.class).to(JdbcRealm.class);
>     }
> }
> com.google.inject.CreationException: Guice creation errors:
> 1) No implementation for java.util.Set<org.apache.shiro.realm.Realm> was bound.
>   at org.apache.shiro.guice.ShiroModule.configure(ShiroModule.java:74) (via modules: pt.egoi.megan.guice.MeganModule -> pt.egoi.megan.security.SecurityModule)
> 1 error
> 	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:449) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.Guice.createInjector(Guice.java:96) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.Guice.createInjector(Guice.java:84) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at pt.egoi.megan.guice.GuiceListener.getInjector(GuiceListener.java:20) ~[classes/:na]
> 	at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) ~[guice-servlet-4.0-SNAPSHOT.jar:na]
> 	at pt.egoi.megan.guice.GuiceListener.contextInitialized(GuiceListener.java:31) ~[classes/:na]
> 	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:746) ~[jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238) ~[jetty-servlet-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240) ~[jetty-webapp-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689) ~[jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:482) ~[jetty-webapp-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) [jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) [jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.Server.doStart(Server.java:281) [jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1274) [jetty-xml-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_51]
> 	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1197) [jetty-xml-7.6.14.v20131031.jar:7.6.14.v20131031]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)