shiro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Demers (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (SHIRO-493) shiro-guice not working with the guice 4.x
Date Fri, 01 Jul 2016 14:45:12 GMT

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

Brian Demers edited comment on SHIRO-493 at 7/1/16 2:44 PM:
------------------------------------------------------------

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 Shiro 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.


was (Author: bdemers):
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)

Mime
View raw message