GitHub user mike-jumper opened a pull request:
https://github.com/apache/incubator-guacamole-client/pull/36
GUACAMOLE-5: Remove need to bind/inject AuthenticationProvider
This change removes the need to inject `AuthenticationProvider` within the
database auth backend. In contrast to my other PRs lately, it's mostly
deletions.
### But why?
To allow multiple connection share keys to be used within a single session
(producing a `UserContext` which contains the union of all shared connections
provided by those keys), I need to move the sharing bits to their own
`AuthenticationProvider` within the same extension.
This is possible, but will require that a common Guice injector is shared
between those two auth providers. That is *also* possible, but will require
that a common and reliable set of dependencies exist, ideally the *same*
dependencies.
It turns out that the only dependency that would be different between the
two is the `AuthenticationProvider` itself, which is only injected in one place
anyway: the `UserContext` implementations. Removing that need makes the rest of
this easier.
Even if the above approach doesn't work out, however, I still think this
should be done. It's cleaner, and it seems like injecting
`AuthenticationProvider` was unnecessary in the first place.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/incubator-guacamole-client
common-injections
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-guacamole-client/pull/36.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #36
----
commit cadaefa5f6ddf45b8eb1f09dc42fd8603725113a
Author: Michael Jumper <[email protected]>
Date: 2016-07-27T04:21:17Z
GUACAMOLE-5: Do not bind/inject AuthenticationProvider.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---