[
https://issues.apache.org/jira/browse/SHIRO-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ignacio Baca Moreno-Torres updated SHIRO-488:
---------------------------------------------
Description:
ShiroWebModule$FilterConfigKey is not instantiable in sisu-guice 3.1.8.
To reproduce the error, configure dependencies.
{code}
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-guice</artifactId>
<version>1.2.2</version>
<exclusions>
<exclusion>
<artifactId>guice</artifactId>
<groupId>com.google.inject</groupId>
</exclusion>
<exclusion>
<artifactId>guice-multibindings</artifactId>
<groupId>com.google.inject.extensions</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.sonatype.sisu.inject</groupId>
<artifactId>guice-servlet</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-guice</artifactId>
<version>3.1.8</version>
</dependency>
{code}
Run this code:
{code}
public static void main(String[] args) {
new MyShiroWebModule();
}
private static class MyShiroWebModule extends ShiroWebModule {
public MyShiroWebModule() {
super(null);
addFilterChain("/**", AUTHC, config(PERMS, "hello"));
}
@Override public void configureShiroWeb() {}
}
{code}
And the result:
{code}
Exception in thread "main" com.google.inject.ConfigurationException: Guice
configuration errors:
1) T cannot be used as a key; It is not fully specified.
1 error
at
com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:80)
at com.google.inject.Key.<init>(Key.java:115)
at
org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:243)
at
org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:238)
at
org.apache.shiro.guice.web.ShiroWebModule.config(ShiroWebModule.java:225)
at
com.bacamt.ibaca.sandbox.ShiroBug$MyShiroWebModule.<init>(ShiroBug.java:14)
{code}
was:
ShiroWebModule$FilterConfigKey is not instantiable in sisu-guice 3.1.8.
To reproduce the error, configure dependencies.
{code}
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-guice</artifactId>
<version>1.2.2</version>
<exclusions>
<exclusion>
<artifactId>guice</artifactId>
<groupId>com.google.inject</groupId>
</exclusion>
<exclusion>
<artifactId>guice-multibindings</artifactId>
<groupId>com.google.inject.extensions</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.sonatype.sisu.inject</groupId>
<artifactId>guice-servlet</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-guice</artifactId>
<version>3.1.8</version>
</dependency>
{code}
And run:
{code}
public static void main(String[] args) {
new MyShiroWebModule();
}
private static class MyShiroWebModule extends ShiroWebModule {
public MyShiroWebModule() {
super(null);
addFilterChain("/**", AUTHC, config(PERMS, "hello"));
}
@Override public void configureShiroWeb() {}
}
{code}
> ShiroWebModule.config does not work with sisu-guice 3.1.8
> ---------------------------------------------------------
>
> Key: SHIRO-488
> URL: https://issues.apache.org/jira/browse/SHIRO-488
> Project: Shiro
> Issue Type: Bug
> Components: Integration: Guice
> Affects Versions: 1.2.2
> Reporter: Ignacio Baca Moreno-Torres
> Assignee: Jared Bunting
> Priority: Trivial
>
> ShiroWebModule$FilterConfigKey is not instantiable in sisu-guice 3.1.8.
> To reproduce the error, configure dependencies.
> {code}
> <dependency>
> <groupId>org.apache.shiro</groupId>
> <artifactId>shiro-guice</artifactId>
> <version>1.2.2</version>
> <exclusions>
> <exclusion>
> <artifactId>guice</artifactId>
> <groupId>com.google.inject</groupId>
> </exclusion>
> <exclusion>
> <artifactId>guice-multibindings</artifactId>
> <groupId>com.google.inject.extensions</groupId>
> </exclusion>
> </exclusions>
> </dependency>
> <dependency>
> <groupId>org.apache.shiro</groupId>
> <artifactId>shiro-web</artifactId>
> <version>1.2.2</version>
> </dependency>
> <dependency>
> <groupId>org.sonatype.sisu.inject</groupId>
> <artifactId>guice-servlet</artifactId>
> <version>3.1.0</version>
> </dependency>
> <dependency>
> <groupId>javax.servlet</groupId>
> <artifactId>servlet-api</artifactId>
> <version>2.4</version>
> </dependency>
> <dependency>
> <groupId>org.sonatype.sisu</groupId>
> <artifactId>sisu-guice</artifactId>
> <version>3.1.8</version>
> </dependency>
> {code}
> Run this code:
> {code}
> public static void main(String[] args) {
> new MyShiroWebModule();
> }
> private static class MyShiroWebModule extends ShiroWebModule {
> public MyShiroWebModule() {
> super(null);
> addFilterChain("/**", AUTHC, config(PERMS, "hello"));
> }
> @Override public void configureShiroWeb() {}
> }
> {code}
> And the result:
> {code}
> Exception in thread "main" com.google.inject.ConfigurationException: Guice
> configuration errors:
> 1) T cannot be used as a key; It is not fully specified.
> 1 error
> at
> com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:80)
> at com.google.inject.Key.<init>(Key.java:115)
> at
> org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:243)
> at
> org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey.<init>(ShiroWebModule.java:238)
> at
> org.apache.shiro.guice.web.ShiroWebModule.config(ShiroWebModule.java:225)
> at
> com.bacamt.ibaca.sandbox.ShiroBug$MyShiroWebModule.<init>(ShiroBug.java:14)
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)