Details

    • Type: New Feature
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 1.2.0, 1.2.1
    • Fix Version/s: None
    • Component/s: Integration: JEE

      Description

      As there is a spring or guice integration, a CDI integration could be welcomed.

      1. SHIRO-337.patch
        22 kB
        Romain Manni-Bucau
      2. SHIRO-337-2.patch
        23 kB
        Romain Manni-Bucau
      3. SHIRO-337-3.patch
        25 kB
        Harald Wellmann

        Issue Links

          Activity

          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          a patch proposal

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - a patch proposal
          Hide
          thibault Thibault Tigeon added a comment -

          +1

          Show
          thibault Thibault Tigeon added a comment - +1
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          an update which manage in a better way exception handling

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - an update which manage in a better way exception handling
          Hide
          lightguard Jason Porter added a comment -

          Something that may be interesting for all parties is Shiro integration with DeltaSpike: https://cwiki.apache.org/confluence/display/DeltaSpike/Index Of course basic CDI integration within Shiro would be awesome and probably help in creating a full blown module within DeltaSpike.

          Show
          lightguard Jason Porter added a comment - Something that may be interesting for all parties is Shiro integration with DeltaSpike: https://cwiki.apache.org/confluence/display/DeltaSpike/Index Of course basic CDI integration within Shiro would be awesome and probably help in creating a full blown module within DeltaSpike.
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          deltaspike will be great but doing a single module based on deltaspike means each application using cdi + shiro will need deltaspike which could not be the case (even if in JEE projects it will (almost always) be )

          i think both modules can make sense

          tought?

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - deltaspike will be great but doing a single module based on deltaspike means each application using cdi + shiro will need deltaspike which could not be the case (even if in JEE projects it will (almost always) be ) i think both modules can make sense tought?
          Hide
          thibault Thibault Tigeon added a comment -

          Would it be possible to have this patch in the next release?

          Show
          thibault Thibault Tigeon added a comment - Would it be possible to have this patch in the next release?
          Hide
          muellerc Christian Müller added a comment - - edited

          We have issues running Shiro inside of JBoss 7. Anything we can do to get this (one year old) patch applied? Anybody faced the same issue and found a workaround?

          Our stack trace (using Shiro 1.2.1):

          14:56:08,519 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."xxx-gui.war".WeldService: org.jboss.msc.service.StartException in service jboss.deployment.unit."xxx-gui.war".WeldService: org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001437 Normal scoped bean class org.apache.shiro.realm.AuthenticatingRealm is not proxyable because the type is final or it contains a final method public final void org.apache.shiro.realm.AuthenticatingRealm.init() - Managed Bean [class net.atos.xa.rm.app.realm.RMRealm] with qualifiers [@Any @Default].
                          at org.jboss.as.weld.services.WeldService.start(WeldService.java:83)
                          at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                          at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0]
                          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0]
                          at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
          
          

          Thanks in advance,
          Christian

          Show
          muellerc Christian Müller added a comment - - edited We have issues running Shiro inside of JBoss 7. Anything we can do to get this (one year old) patch applied? Anybody faced the same issue and found a workaround? Our stack trace (using Shiro 1.2.1): 14:56:08,519 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."xxx-gui.war".WeldService: org.jboss.msc.service.StartException in service jboss.deployment.unit."xxx-gui.war".WeldService: org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001437 Normal scoped bean class org.apache.shiro.realm.AuthenticatingRealm is not proxyable because the type is final or it contains a final method public final void org.apache.shiro.realm.AuthenticatingRealm.init() - Managed Bean [class net.atos.xa.rm.app.realm.RMRealm] with qualifiers [@Any @Default]. at org.jboss.as.weld.services.WeldService.start(WeldService.java:83) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0] Thanks in advance, Christian
          Hide
          hwellmann Harald Wellmann added a comment -

          Christian, I don't think this patch is related to your problem. I'm also using Shiro with CDI on JBoss AS 7.1.3 with a custom FooRealm extending AuthorizingRealm, and I don't see this error. I suppose the difference is that my realm is @Dependent (and thus does not require a proxy) whereas yours is @ApplicationScoped.

          Show
          hwellmann Harald Wellmann added a comment - Christian, I don't think this patch is related to your problem. I'm also using Shiro with CDI on JBoss AS 7.1.3 with a custom FooRealm extending AuthorizingRealm, and I don't see this error. I suppose the difference is that my realm is @Dependent (and thus does not require a proxy) whereas yours is @ApplicationScoped.
          Hide
          hwellmann Harald Wellmann added a comment -

          Attached is an improved version of the patch which adds an interceptor binding @ShiroSecured, as JBoss/Weld complained about a missing binding. I also added some more unit tests.

          See also https://github.com/hwellmann/shiro.

          Show
          hwellmann Harald Wellmann added a comment - Attached is an improved version of the patch which adds an interceptor binding @ShiroSecured, as JBoss/Weld complained about a missing binding. I also added some more unit tests. See also https://github.com/hwellmann/shiro .
          Hide
          muellerc Christian Müller added a comment -

          Harald, thanks for sharing your solution and the hint. I will have a look tomorrow on your suggestion with my colleague, who is working on it.
          I hope your patch will find a way to the source code repo soon...

          Show
          muellerc Christian Müller added a comment - Harald, thanks for sharing your solution and the hint. I will have a look tomorrow on your suggestion with my colleague, who is working on it. I hope your patch will find a way to the source code repo soon...
          Hide
          thibault Thibault Tigeon added a comment -

          Is it possible to have this functionality in the next release?
          It would be nice

          Thibault

          Show
          thibault Thibault Tigeon added a comment - Is it possible to have this functionality in the next release? It would be nice Thibault
          Hide
          juanma.cabrera Juan Manuel CABRERA added a comment -

          Would be a great helper in our project too !

          Show
          juanma.cabrera Juan Manuel CABRERA added a comment - Would be a great helper in our project too !
          Hide
          lhazlewood Les Hazlewood added a comment -

          We'll do our best to have this included in 1.3. I'm trying to knock down bugs this week to allow that to be possible.

          Show
          lhazlewood Les Hazlewood added a comment - We'll do our best to have this included in 1.3. I'm trying to knock down bugs this week to allow that to be possible.
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          any news?

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - any news?
          Hide
          nialscorva Jason Wagner added a comment - - edited

          Not having come across this ticket, I started an implementation of a seperate module for CDI support. Link at https://github.com/TensorWrench/shiro-jee. Will check out what features are in the patch and see what makes sense to carry over.

          Show
          nialscorva Jason Wagner added a comment - - edited Not having come across this ticket, I started an implementation of a seperate module for CDI support. Link at https://github.com/TensorWrench/shiro-jee . Will check out what features are in the patch and see what makes sense to carry over.
          Hide
          hwellmann Harald Wellmann added a comment -

          This patch and other unreleased community contributions have been released in an independent extension project Pax Shiro.

          Docs:
          http://team.ops4j.org/wiki/display/PAXSHIRO/

          Sources:
          https://github.com/ops4j/org.ops4j.pax.shiro

          Show
          hwellmann Harald Wellmann added a comment - This patch and other unreleased community contributions have been released in an independent extension project Pax Shiro. Docs: http://team.ops4j.org/wiki/display/PAXSHIRO/ Sources: https://github.com/ops4j/org.ops4j.pax.shiro
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          Les Hazlewood what's blocking to get it included? pax config is nice, interceptor is quite common to all versions (reusing existing aop base of shiro) and shiro handlers (session, subject, security manager) too

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - Les Hazlewood what's blocking to get it included? pax config is nice, interceptor is quite common to all versions (reusing existing aop base of shiro) and shiro handlers (session, subject, security manager) too
          Hide
          nialscorva Jason Wagner added a comment -

          I would concur. At the very least a prominent link to it in the documentation would be appreciated. It would have prevented me from implementing duplicate capabilities.

          Show
          nialscorva Jason Wagner added a comment - I would concur. At the very least a prominent link to it in the documentation would be appreciated. It would have prevented me from implementing duplicate capabilities.
          Hide
          bdemers Brian Demers added a comment -

          This is one of the highest voted issues, so...
          I took a quick look at this, originally missing the 'ops4j/org.ops4j.pax.shiro' link (I going to poke around in there too)

          One issue is the author tags (ASF recommendation), I cannot strip them without consent from the author Harald Wellmann, confirmation here should be enough.

          Show
          bdemers Brian Demers added a comment - This is one of the highest voted issues, so... I took a quick look at this, originally missing the 'ops4j/org.ops4j.pax.shiro' link (I going to poke around in there too) One issue is the author tags (ASF recommendation), I cannot strip them without consent from the author Harald Wellmann , confirmation here should be enough.
          Hide
          hwellmann Harald Wellmann added a comment -

          Feel free to reuse my code and remove the author tags!

          Show
          hwellmann Harald Wellmann added a comment - Feel free to reuse my code and remove the author tags!
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user bdemers opened a pull request:

          https://github.com/apache/shiro/pull/24

          WIP: CDI feature import SHIRO-337

          I spent about a day looking into this, the original code was pretty good, but I ran into a few issues when adding a sample project

          Added CDI [README.md](support/cdi/README.md)
          Added TODO's:

          • [support/cdi](support/cdi/TODO.md)
          • [samples](samples/cdi/TODO.md)

          Comments above are just initial thoughts and are here to start discussion.

          @hwellmann, I know it has been a while since you looked into this, but your thoughts would be appreciated

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/bdemers/shiro cdi-import

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/shiro/pull/24.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 #24


          commit daff202fe1a46141badcf73309d3237dcf4f8ef0
          Author: Brian Demers <bdemers@apache.org>
          Date: 2016-07-05T19:35:35Z

          Initial CDI import

          commit 8e40907d67e38b961ddffba7a2411bc8745f8139
          Author: Brian Demers <bdemers@apache.org>
          Date: 2016-07-05T19:38:53Z

          renamed cdi packages after import

          commit b806d61d40aad94db5e9f76b10e57d54cab8ba52
          Author: Brian Demers <bdemers@apache.org>
          Date: 2016-07-05T20:14:46Z

          Replaced geronimo spec dependencies with javax equivalents

          commit 4dfcbd0b770b2d45e8daf52f6ad80a26c9abb16b
          Author: Brian Demers <bdemers@apache.org>
          Date: 2016-07-05T20:33:06Z

          Removed @author javadoc tags

          commit 0200e716f2df8ad552bc852b356485696fae07a6
          Author: Brian Demers <bdemers@apache.org>
          Date: 2016-07-05T21:00:42Z

          Updated license headers to match project

          commit 8c380223fd8acc02f6d809a426e31079cd11c9c0
          Author: Brian Demers <bdemers@apache.org>
          Date: 2016-07-06T16:34:32Z

          Attempting to add a CDI example from ops4j/org.ops4j.pax.shiro

          original sample: https://github.com/ops4j/org.ops4j.pax.shiro/blob/master/samples/sample-cdi-web
          Added README.md from: https://ops4j1.jira.com/wiki/display/PAXSHIRO/CDI+Support
          Added TODO.md in support/cdi and samples/cdi with thoughts on the project


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user bdemers opened a pull request: https://github.com/apache/shiro/pull/24 WIP: CDI feature import SHIRO-337 I spent about a day looking into this, the original code was pretty good, but I ran into a few issues when adding a sample project Added CDI [README.md] (support/cdi/README.md) Added TODO's: [support/cdi] (support/cdi/TODO.md) [samples] (samples/cdi/TODO.md) Comments above are just initial thoughts and are here to start discussion. @hwellmann, I know it has been a while since you looked into this, but your thoughts would be appreciated You can merge this pull request into a Git repository by running: $ git pull https://github.com/bdemers/shiro cdi-import Alternatively you can review and apply these changes as the patch at: https://github.com/apache/shiro/pull/24.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 #24 commit daff202fe1a46141badcf73309d3237dcf4f8ef0 Author: Brian Demers <bdemers@apache.org> Date: 2016-07-05T19:35:35Z Initial CDI import commit 8e40907d67e38b961ddffba7a2411bc8745f8139 Author: Brian Demers <bdemers@apache.org> Date: 2016-07-05T19:38:53Z renamed cdi packages after import commit b806d61d40aad94db5e9f76b10e57d54cab8ba52 Author: Brian Demers <bdemers@apache.org> Date: 2016-07-05T20:14:46Z Replaced geronimo spec dependencies with javax equivalents commit 4dfcbd0b770b2d45e8daf52f6ad80a26c9abb16b Author: Brian Demers <bdemers@apache.org> Date: 2016-07-05T20:33:06Z Removed @author javadoc tags commit 0200e716f2df8ad552bc852b356485696fae07a6 Author: Brian Demers <bdemers@apache.org> Date: 2016-07-05T21:00:42Z Updated license headers to match project commit 8c380223fd8acc02f6d809a426e31079cd11c9c0 Author: Brian Demers <bdemers@apache.org> Date: 2016-07-06T16:34:32Z Attempting to add a CDI example from ops4j/org.ops4j.pax.shiro original sample: https://github.com/ops4j/org.ops4j.pax.shiro/blob/master/samples/sample-cdi-web Added README.md from: https://ops4j1.jira.com/wiki/display/PAXSHIRO/CDI+Support Added TODO.md in support/cdi and samples/cdi with thoughts on the project
          Hide
          bdemers Brian Demers added a comment -

          Moving out of 1.3 release.

          The pull request in this issue needs a little more discussion.
          (please chime in if interested)

          Show
          bdemers Brian Demers added a comment - Moving out of 1.3 release. The pull request in this issue needs a little more discussion. (please chime in if interested)
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          any way it gets resolved after 5 years and multiple forks?

          Pushed an extension doing that work (for web module but easy to adjust it if needed) on github at https://github.com/rmannibucau/simple-shiro-cdi.

          Usage for a rest service or cdi bean can be seen in this test https://github.com/rmannibucau/simple-shiro-cdi/blob/master/src/test/java/com/github/rmannibucau/shiro/ShiroTest.java#L177

          Overall ideas are:

          1. reuse shiro API and not add any required CDI specific API to activate CDI interceptor
          2. make available the security manager and subject in cdi context (to get them by @Inject only)
          3. remove ini requirement (this is different from pax-shiro but actually very close to what has been done for spring/spring-boot)

          Let me know what you think about it. If you think it shouldn't hit shiro I will release this on central like that, if you think it can fit shiro, happy to adjust it.

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - any way it gets resolved after 5 years and multiple forks? Pushed an extension doing that work (for web module but easy to adjust it if needed) on github at https://github.com/rmannibucau/simple-shiro-cdi . Usage for a rest service or cdi bean can be seen in this test https://github.com/rmannibucau/simple-shiro-cdi/blob/master/src/test/java/com/github/rmannibucau/shiro/ShiroTest.java#L177 Overall ideas are: 1. reuse shiro API and not add any required CDI specific API to activate CDI interceptor 2. make available the security manager and subject in cdi context (to get them by @Inject only) 3. remove ini requirement (this is different from pax-shiro but actually very close to what has been done for spring/spring-boot) Let me know what you think about it. If you think it shouldn't hit shiro I will release this on central like that, if you think it can fit shiro, happy to adjust it.
          Hide
          johndament John D. Ament added a comment -

          +1 it needs some clean up - e.g. shiro is Java 1.6 compliant. Do we really need meecrowave as a dependency? And the license isn't clear either (in your proposed repo romain). I also suspect that JAX-RS support would be a bit broken, maybe evaluated twice per request (see also SHIRO-609) but that's not specific to this ticket.

          Show
          johndament John D. Ament added a comment - +1 it needs some clean up - e.g. shiro is Java 1.6 compliant. Do we really need meecrowave as a dependency? And the license isn't clear either (in your proposed repo romain). I also suspect that JAX-RS support would be a bit broken, maybe evaluated twice per request (see also SHIRO-609 ) but that's not specific to this ticket.
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          fully right John. For meecrowave: it is just to get a cdi+servlet container, tomee would work too. JAX-RS point is true as well if you don't configure web(urls)+jaxrs correctly otherwise it works I think even if not tested there. Can update the code if needed - have to admit it was originally just a test for a blog post so didnt make it very clean yet.

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - fully right John. For meecrowave: it is just to get a cdi+servlet container, tomee would work too. JAX-RS point is true as well if you don't configure web(urls)+jaxrs correctly otherwise it works I think even if not tested there. Can update the code if needed - have to admit it was originally just a test for a blog post so didnt make it very clean yet.
          Hide
          bdemers Brian Demers added a comment -

          Thanks!
          I spent a few nights hacking on something similar a few weeks ago: https://github.com/apache/shiro/pull/56 at first glance they seem to be headed in the same direction.

          My initial goal was to see if the CDI, Guice, and Spring integrations could share more code (that didn't pan out, as they all have different techniques)

          If you want to take point on the feature, I can help you get it in! We would need the following:

          • Sign a contributor license agreement (CLA)
          • Create a feature branch from master, (you can start with cdi-idea or start fresh
          • Minimal compile dependencies (test and runtime deps are more flexible)
          • examples for web and non web
          • tests

          Between these two branches we should have just about everything covered, just needs a little polish!

          Show
          bdemers Brian Demers added a comment - Thanks! I spent a few nights hacking on something similar a few weeks ago: https://github.com/apache/shiro/pull/56 at first glance they seem to be headed in the same direction. My initial goal was to see if the CDI, Guice, and Spring integrations could share more code (that didn't pan out, as they all have different techniques) If you want to take point on the feature, I can help you get it in! We would need the following: Sign a contributor license agreement (CLA) Create a feature branch from master, (you can start with cdi-idea or start fresh Minimal compile dependencies (test and runtime deps are more flexible) examples for web and non web tests Between these two branches we should have just about everything covered, just needs a little polish!
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          Hey Brian Demers, in term of differences here the ones I see (nothing blocking but trying to see how we differed:

          1. i relied on web module OOTB, not sure it is a big deal (not you AFAIK) - we can split in -web or not -web. That said I tend to think shiro has a deisgn bug there since web prevents to run not web code so maybe something to fix in shiro-web or core more than anything else.
          2. You rely on producers to create beans where I avoid it to let user beans directly integrate with the security manager instead of having to override a shiro producer
          3. I got rid of shiro.ini (no need since CDI has the config)
          4. I got rid of the environment class (liked to 3 I think)

          In term of CLA: I'm already an ASF committer so shouldn't be needed .

          In term of help I'd like some on 1. Concretely - I know it is a big outside this task but would make integrations easier and not requiring 2 modules - why web fails when there is no request? Shouldn't it fallback on not web mode there?

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - Hey Brian Demers , in term of differences here the ones I see (nothing blocking but trying to see how we differed: 1. i relied on web module OOTB, not sure it is a big deal (not you AFAIK) - we can split in -web or not -web. That said I tend to think shiro has a deisgn bug there since web prevents to run not web code so maybe something to fix in shiro-web or core more than anything else. 2. You rely on producers to create beans where I avoid it to let user beans directly integrate with the security manager instead of having to override a shiro producer 3. I got rid of shiro.ini (no need since CDI has the config) 4. I got rid of the environment class (liked to 3 I think) In term of CLA: I'm already an ASF committer so shouldn't be needed . In term of help I'd like some on 1. Concretely - I know it is a big outside this task but would make integrations easier and not requiring 2 modules - why web fails when there is no request? Shouldn't it fallback on not web mode there?
          Hide
          bdemers Brian Demers added a comment -

          Great! I'll take a closer look.

          As for the dependency on the web module, things get a little sticky here. And I think you are right on some of these points, we should fall back to non-web equivalent if a request is not available. But... as far as dependencies go, requiring the servlet API as a dependency is a problem. If the code is written to allow that dependency to be optional, then it could work.

          Show
          bdemers Brian Demers added a comment - Great! I'll take a closer look. As for the dependency on the web module, things get a little sticky here. And I think you are right on some of these points, we should fall back to non-web equivalent if a request is not available. But... as far as dependencies go, requiring the servlet API as a dependency is a problem. If the code is written to allow that dependency to be optional, then it could work.
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          Brian Demers can you add the next coming sentence in this explanation please? If the model has servlet as optional or exclud-able, is it an issue?

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - Brian Demers can you add the next coming sentence in this explanation please? If the model has servlet as optional or exclud-able, is it an issue?
          Hide
          bdemers Brian Demers added a comment -

          Romain Manni-Bucau optional would be fine.

          Show
          bdemers Brian Demers added a comment - Romain Manni-Bucau optional would be fine.
          Hide
          romain.manni-bucau Romain Manni-Bucau added a comment -

          At the moment servlet is optional but shiro-web is the default dependency cause the setup in standalone is not done (the SecurityManager init) cause not sure what we want there. No problem to move it to provided and use shiro-core as compiled scoped dependency (or even provided too thinking to it). Can you do a quick review to see what would miss then?

          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - At the moment servlet is optional but shiro-web is the default dependency cause the setup in standalone is not done (the SecurityManager init) cause not sure what we want there. No problem to move it to provided and use shiro-core as compiled scoped dependency (or even provided too thinking to it). Can you do a quick review to see what would miss then?
          Hide
          bdemers Brian Demers added a comment -

          Can you put all of the code on a shiro branch? I think it will make things easier to review and help contribute.

          Show
          bdemers Brian Demers added a comment - Can you put all of the code on a shiro branch? I think it will make things easier to review and help contribute.
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user rmannibucau opened a pull request:

          https://github.com/apache/shiro/pull/58

          SHIRO-337 basic cdi support

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/rmannibucau/shiro fb/cdi

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/shiro/pull/58.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 #58


          commit b2f3f52554ed8bf2d04e46a2970cedb407366384
          Author: rmannibucau <rmannibucau@apache.org>
          Date: 2017-02-06T20:39:11Z

          basic cdi support


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user rmannibucau opened a pull request: https://github.com/apache/shiro/pull/58 SHIRO-337 basic cdi support You can merge this pull request into a Git repository by running: $ git pull https://github.com/rmannibucau/shiro fb/cdi Alternatively you can review and apply these changes as the patch at: https://github.com/apache/shiro/pull/58.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 #58 commit b2f3f52554ed8bf2d04e46a2970cedb407366384 Author: rmannibucau <rmannibucau@apache.org> Date: 2017-02-06T20:39:11Z basic cdi support
          Show
          romain.manni-bucau Romain Manni-Bucau added a comment - created https://github.com/apache/shiro/pull/58

            People

            • Assignee:
              Unassigned
              Reporter:
              romain.manni-bucau Romain Manni-Bucau
            • Votes:
              18 Vote for this issue
              Watchers:
              23 Start watching this issue

              Dates

              • Created:
                Updated:

                Development