For 1.2, the API is pretty locked, but if you can do it in a backwards
compatible way, that should be fine.

For master, you have a lot more room to play

On Thu, Apr 14, 2016 at 2:49 AM, Martin Nielsen <[email protected]> wrote:

> Brian: To what extend would you be ok with me adding extra methods to
> established interfaces?
>
> Current example is that i need to be able to distinguish between what is
> saved on ThreadLocal when running "normally" and in OSGi.
> It seems the smallest change would be to make SubjectThreadState into an
> interface and allow the Subject class to either return its own
> SubjectThreadState, or maybe even build the bind method directly into the
> Subject.
> Its a fix that is quite small, but i am not sure about adding such
> functionality to Subject, as it currently only contains developer-focused
> methods, and next to none focused on the backing framework.
>
> On Thu, Apr 14, 2016 at 8:33 AM, Martin Nielsen <[email protected]> wrote:
>
> > Cristiano, i will see if i can find your work a little later on. Right
> now
> > my main concern is finding the "least impact" solution for circumventing
> > the initialization wiring and threadlocal functionality (Ironically,
> these
> > are some of the things that make Shiro so nice to use, and now i am
> working
> > on getting around them).
> >
> > The main problem i am having right now is that i must not bind anything
> to
> > a threadlocal, that will be exposed as a service (Considering what would
> > happen if the corresponding securitymanager bundle is suddenly stopped,
> > what about the service instance in the threadlocal?)
> >
> > Did you do any work along those lines? I would very much like to not
> > reinvent the wheel if someone else already did the work.
> >
> > Right now my thought is to expand the SubjectThreadState, letting the
> > subject itself define how it is stored, but i am very much open to other,
> > and potentially better, ideas:)
> >
> > More regards
> > -Martin
> >
> > On Wed, Apr 13, 2016 at 9:11 PM, Brian Demers <[email protected]>
> > wrote:
> >
> >> These have been merged to master and 1.2.x
> >>
> >> On Wed, Apr 13, 2016 at 10:26 AM, Andreas Kohn <[email protected]>
> >> wrote:
> >>
> >> > Brian,
> >> >
> >> > We needed[*] to get Shiro 1.2 building with JDK 8, these commits could
> >> be
> >> > helpful to pull into the main repository:
> >> >
> >> >
> >> >
> >>
> https://github.com/Collaborne/shiro/commit/e83d73f858bc48cbc7c7123fada099eff044aa43
> >> > (SHIRO-516)
> >> >
> >> >
> >> >
> >>
> https://github.com/Collaborne/shiro/commit/631847d3a2754244ad0ab2f87bd581fe7b8e60f7
> >> >
> >> >
> >>
> https://github.com/Collaborne/shiro/commit/831b90c9255ce81994accef5a94ddfa31a85d8cf
> >> >
> >> >
> >>
> https://github.com/Collaborne/shiro/commit/be75d27d9439585308ea48420a36d42b53fe7cb2
> >> > (no issue/PR yet)
> >> >
> >> > Should I create a new issue for that, or would that only be relevant
> for
> >> > the mythical Shiro 2.x?
> >> >
> >> > Regards,
> >> > --
> >> > Andreas
> >> >
> >> > [*] JDK 7 is EOL'd, so I simply didn't want to have to bother with
> that
> >> > anymore.
> >> >
> >> > On Sun, Apr 10, 2016 at 11:02 PM Brian Demers <[email protected]
> >
> >> > wrote:
> >> >
> >> > > It should, though use JDK 1.7, if you are not already
> >> > >
> >> > > -Brian
> >> > >
> >> > > > On Apr 10, 2016, at 7:43 AM, Martin Nielsen <[email protected]>
> >> wrote:
> >> > > >
> >> > > > Hi again.
> >> > > >
> >> > > > I have started ever so slowly, and i have run into the first
> issue:
> >> > > Compile
> >> > > > problems:D
> >> > > >
> >> > > > Either i am missing something, or i have hit the project at a time
> >> > where
> >> > > it
> >> > > > doesn't compile. The support/AspectJ project is failing to
> compile.
> >> > > >
> >> > > > Should the project just comple directly from the github repo? Or
> do
> >> i
> >> > > need
> >> > > > some special setup?
> >> > > >
> >> > > > If not, i guess i will just start spooling backwards until i hit a
> >> > commit
> >> > > > that compiles:D
> >> > > >
> >> > > >> On Thu, Apr 7, 2016 at 9:25 PM, Brian Demers <
> >> [email protected]>
> >> > > wrote:
> >> > > >>
> >> > > >> Martin,
> >> > > >> Understood, go for it.
> >> > > >>
> >> > > >>> On Thu, Apr 7, 2016 at 10:32 AM, Martin Nielsen <
> [email protected]
> >> >
> >> > > wrote:
> >> > > >>>
> >> > > >>> That is the problem, i don't think this will be a "small" change
> >> > > really.
> >> > > >> I
> >> > > >>> will be making small knicks in quite a few places. I am up for
> >> doing
> >> > > the
> >> > > >>> work, and i am up for modifying it and taking critique. I
> wouldn't
> >> > mind
> >> > > >>> helping to support it afterwards either. I just want to make
> sure
> >> i
> >> > > don't
> >> > > >>> get some answer like "OSGi is not a priority for us, please sod
> >> off"
> >> > :D
> >> > > >>>
> >> > > >>> On Thu, Apr 7, 2016 at 3:44 PM, Brian Demers <
> >> [email protected]
> >> > >
> >> > > >>> wrote:
> >> > > >>>
> >> > > >>>> +1 ( including Dan's comments)
> >> > > >>>>
> >> > > >>>> GitHub pull requests are now preferred.
> >> > > >>>>
> >> > > >>>>> On Thu, Apr 7, 2016 at 9:07 AM, Dan Dumont <
> [email protected]>
> >> > > wrote:
> >> > > >>>>>
> >> > > >>>>> I don't want to put words in the shiro committers mouths, but
> >> I'm
> >> > > >> sure
> >> > > >>>> they
> >> > > >>>>> would be happy to see the work.  The best way I found to get
> >> > involved
> >> > > >>> in
> >> > > >>>>> Apache projects is to start making small, easy to review
> changes
> >> > that
> >> > > >>>> were
> >> > > >>>>> easy to explain.  (With unit tests of course :)
> >> > > >>>>>
> >> > > >>>>> Eventually, the community extended a committer invite.
> >> > > >>>>>
> >> > > >>>>> Good luck!
> >> > > >>>>> I use shiro on karaf right now and would like to see some love
> >> for
> >> > > >> OSGi
> >> > > >>>> as
> >> > > >>>>> well.
> >> > > >>>>>
> >> > > >>>>> sent using my nexus 5x
> >> > > >>>>>> On Apr 7, 2016 7:29 AM, "Martin Nielsen" <[email protected]>
> >> > wrote:
> >> > > >>>>>>
> >> > > >>>>>> Hello Shiro developers.
> >> > > >>>>>>
> >> > > >>>>>> I have recently been using Shiro for all my security needs,
> >> and I
> >> > > >>> adore
> >> > > >>>>> the
> >> > > >>>>>> framework. Recently though, I have been moving more and more
> >> > > >> towards
> >> > > >>>> OSGi
> >> > > >>>>>> specification, and it feels like Shiro is a little lacking in
> >> that
> >> > > >>>> area.
> >> > > >>>>> It
> >> > > >>>>>> works well enough but it is quite static, and does not really
> >> > > >> handle
> >> > > >>>> the
> >> > > >>>>>> dynamic nature of OSGi.
> >> > > >>>>>>
> >> > > >>>>>> As far as I can see, all the wiring in Shiro on OSGi is one
> at
> >> > > >>>>>> initialization time, and remains static while the application
> >> is
> >> > > >>>> running.
> >> > > >>>>>>
> >> > > >>>>>> I think I have a pretty low impact way to create an OSGi
> based
> >> > > >>>>>> SecurityManager that would register Realms, SubjectDAO's,
> >> > > >>>> SessionManagers
> >> > > >>>>>> et cetera as services, allowing bundles to register their own
> >> > > >>>>>> sessionmanagers, cachemanagers, and more importantly realms,
> >> when
> >> > > >>> they
> >> > > >>>>>> start up.
> >> > > >>>>>>
> >> > > >>>>>> The result would be an OSGi based SecurityManager that does
> not
> >> > > >> start
> >> > > >>>> up
> >> > > >>>>>> statically, for example with an INI file, but uses the OSGi
> >> > service
> >> > > >>>>>> registry to get its resources at runtime.
> >> > > >>>>>>
> >> > > >>>>>> The overall plan is to create a few changes in Shiro Core and
> >> > Shiro
> >> > > >>>> Web,
> >> > > >>>>> so
> >> > > >>>>>> it is possible to define how the individual parts connects to
> >> each
> >> > > >>>> other.
> >> > > >>>>>> So, basically i want to change hardwired references to small
> >> > > >> adapter
> >> > > >>>>>> classes, that can be injected to change how the components
> >> finds
> >> > > >> each
> >> > > >>>>>> other. The existing SecurityManagers should of cause remain
> >> > > >>> unaffected
> >> > > >>>>> and
> >> > > >>>>>> there should be no change to the end user experience.
> >> > > >>>>>> I will also create an adapter, that can be used in place of
> the
> >> > > >>> static
> >> > > >>>>>> securitymanager when running OSGi.
> >> > > >>>>>>
> >> > > >>>>>> When that is done, I will add a number of modules to serve as
> >> > > >>> dedicated
> >> > > >>>>>> OSGi bundles, using hopefully 95& of the code from Core and
> >> Web,
> >> > so
> >> > > >>> the
> >> > > >>>>>> standard components can be started as separate bundles, and
> >> > > >> replaced
> >> > > >>> by
> >> > > >>>>>> custom implementations if necessary.
> >> > > >>>>>>
> >> > > >>>>>> My hope is that, when done, it will be possible to use a
> >> > > >>>> securitymanager
> >> > > >>>>>> that doesn't wire anything at startup, and can change at
> >> runtime,
> >> > > >> as
> >> > > >>>>>> bundles are started and stopped.
> >> > > >>>>>>
> >> > > >>>>>> I am very willing to put in the hours to make this happen,
> but
> >> it
> >> > > >>> would
> >> > > >>>>> be
> >> > > >>>>>> nice to know that this is something that the maintainers
> >> actaully
> >> > > >>> want,
> >> > > >>>>> so
> >> > > >>>>>> I don't end up with something that isn't desired. I also have
> >> not
> >> > > >>>> worked
> >> > > >>>>>> that much with the Web bundle, so I might have some questions
> >> down
> >> > > >>> the
> >> > > >>>>>> line.
> >> > > >>>>>>
> >> > > >>>>>> So: Is this something that that you would consider a pull
> >> request
> >> > > >>> for?
> >> > > >>>> Of
> >> > > >>>>>> cause i can't guarantee that it will work, but i am willing
> to
> >> > try,
> >> > > >>>>>> provided that i get some assurance that it is actually
> >> something
> >> > > >> you
> >> > > >>>> want
> >> > > >>>>>> in the project.
> >> > > >>>>>>
> >> > > >>>>>> Please let me know
> >> > > >>>>>>
> >> > > >>>>>> Martin Nielsen
> >> > > >>>>>> -Hopeful Apache Committer
> >> > > >>>>>>
> >> > > >>>>>
> >> > > >>>>
> >> > > >>>
> >> > > >>
> >> > >
> >> >
> >>
> >
> >
>

Reply via email to