But it is then just a current-thread stack based mechanism? So to make this 
work as Christian wants means you must be on the beginning of everybody’s 
thread?

Kind regards,

        Peter Kriens
> On 1 mrt. 2016, at 19:35, chris.g...@kiffer.be wrote:
> 
> JAAS (like Shiro and other frameworks) ultimately relies on JavaSE's
> java.security.AccessController - as does java.lang.SecurityManager.  So
> these frameworks effectively replace the SecurityManager - and as they do
> not link access to a code source they don't need the stack-inspection
> magic that SecurityManager needs.
> 
>> 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 <http://www.liquid-reality.de/>
>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.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 <http://www.talend.com/>
>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.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 <mailto:osgi-dev@mail.osgi.org>
>> https://mail.osgi.org/mailman/listinfo/osgi-dev 
>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> 
> 
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <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

Reply via email to