shiro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jared Bunting (JIRA)" <j...@apache.org>
Subject [jira] [Created] (SHIRO-369) Guice integration property setting doesn't always work
Date Wed, 06 Jun 2012 03:50:23 GMT
Jared Bunting created SHIRO-369:
-----------------------------------

             Summary: Guice integration property setting doesn't always work
                 Key: SHIRO-369
                 URL: https://issues.apache.org/jira/browse/SHIRO-369
             Project: Shiro
          Issue Type: Bug
    Affects Versions: 1.2.0
            Reporter: Jared Bunting
            Assignee: Jared Bunting


The mechanism to allow the setting of arbitrary properties on shiro objects in Guice doesn't
always work and sometimes require a workaround.  The workaround is to explicitly bind the
class that you want the property to be set upon in the ShiroModule.  This is less than ideal.

I believe that the issue is because the type listener that does the property setting is bound
in the private module, meaning that it only affects beans bound in that private module.  However,
when bindings to classes aren't made specifically in the private module, they occur as just-in-time
bindings, which are effectively bound at the root binder.  Therefore, the type listener never
gets to see these bindings.

I believe that the solution is to bind all shiro objects in the ShiroModule (and ShiroWebModule
as appropriate).  This will cause them to always be bound within the private module.  To ensure
that this is effective, we will also require a test case that scans the classpath for implementations
of particular interfaces and ensures that they are bound.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message