On Jul 1, 2005, at 6:02 PM, David Jencks wrote:

At javaone I discussed some issues which Alan about our current login system and wrapping principals. At the time I was sure I understood how our current code works but after reviewing it I'm not so sure any more :-)

Anyway, IIUC we agreed that:

-the security/permissions mapping system should work with both wrapped and unwrapped principals

-if a login module is going to have its principals wrapped, it will be supplied a new, empty subject. The principals the lm adds will be copied to the "real" subject and wrapped principals for each of these principals will be added. This avoids the problem that if two lms add exactly the same principal it is impossible to tell which one added it to the set of principals in the subject. (at the time I was sure that this "new subject" feature wasn't there, but after looking at the code I can't tell).

-if a login module is not going to have its principals wrapped, it will get the "real" subject. This is useful for auditing lms, and various kinds of principal/credential mapping schemes as may be needed for connectors and web service identity propagation.

This is going to require a new flag "wrapPrincipals" which I guess should go in the LoginModuleUse together with the REQUIRED/OPTIONAL/ SUFFICIENT/... flag.

+0 I don't really understand the security code, but this sounds reasonable

As a side note, I find the login code almost impossible to understand, and I hope we can find some way to comment and/or reorganize it so what it does is easier to figure out from the code. As far as I can tell what it does is really powerful and useful, and I think if it was more accessible it would be used more to good effect.

+100000000000000000000000000

One day I would like to understand the security code :)

-dain

Reply via email to