The AccessControlContext is simply used as an independent vehicle to transport the logged in user and the groups. It allows for example CXF to set the authentication information in a CXF interceptor and the blueprint authz module to read the authentication. As JAAS is available in standard java the login can be transported without introducing a dependency between CXF and blueprint.
The security is then for example enforced by a blueprint interceptor (blueprint-authz) or by java code. This security measure is not meant to protect against unauthorized code. It is only on application level like Guillaume explained. Christian 2016-03-01 9:47 GMT+01:00 Peter Kriens <peter.kri...@aqute.biz>: > So no security manager and you can still use the AccessControlContext? > That surprises me and makes me wonder what it means? Without a security > manager, I do not understand how the checks are done, nor how they can be > enforced? > > Kind regards, > > Peter Kriens > > > > > On 1 mrt. 2016, at 00:33, Christian Schneider <ch...@die-schneider.net> > wrote: > > > > I will have to look into Conditional Permission admin. > > I only use JAAS to do the authentication and make the > AccesControlContext available on the thread via: > > AccessControlContext acc = AccessController.getContext() > > The nice thing is that this allows other parts of the code to do > authorization decisions without being coupled to any special security > library. > > I do not use the SecurityManager. > > The JAAS approach is already used in many places. For example the karaf > web console populates the AccessControlContext on the web console and the > console. Karaf also checks the authorization of commands executed on the > shell this way. CXF populates the AccessControlContext from the service > authentication information. Aries blueprint can do annoation based > authorization using @RolesAllowed. > > So a nice way to run a bundle as a certain user would play very nicely > together with these mechanisms. Of course you can already do a JAAS login > with code but it is a lot of boiler plate code. > > Christian > > > > > > 2016-02-29 8:42 GMT+01:00 Peter Kriens <peter.kri...@aqute.biz>: > > There is no standardized solution for this. In general, Bundle > Activators are called on the thread the start method is called but this is > not guaranteed and for DS you’er out of luck. > > > > That said, I am a bit puzzled by the model. JAAS is based on the same > (terrible) security model the VM gave us. Why not use Conditional > Permission admin to just manage the required permission for that bundle, > that you can do standardized and quite easy? > > > > Kind regards, > > > > Peter Kriens > > > > > On 28 feb. 2016, at 12:09, Christian Schneider < > ch...@die-schneider.net> wrote: > > > > > > When working with JAAS based authentication it is necessary to run the > code as a certain subject. > > > > > > For code that is called from the outside as well as from the karaf > shell there are existing solutions to do the login. > > > I wonder if there is an OSGi mechanism to do the same for code that is > started inside a bundle. (Activator, blueprint or DS). > > > What I would like to have is some way to say: The startup code for > this bundle should run as a certain user. > > > > > > Is this already possible or would I have to create such a mechanism > myself? > > > > > > Christian > > > > > > -- > > > Christian Schneider > > > http://www.liquid-reality.de > > > > > > Open Source Architect > > > http://www.talend.com > > > > > > _______________________________________________ > > > OSGi Developer Mail List > > > osgi-dev@mail.osgi.org > > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > _______________________________________________ > > OSGi Developer Mail List > > osgi-dev@mail.osgi.org > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > > > > > -- > > -- > > Christian Schneider > > http://www.liquid-reality.de > > > > Open Source Architect > > http://www.talend.com > > _______________________________________________ > > OSGi Developer Mail List > > osgi-dev@mail.osgi.org > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev > -- -- Christian Schneider http://www.liquid-reality.de <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de> Open Source Architect http://www.talend.com <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev