In login-service re-factoring, I'd like to unify treatment of the default
principal.

Default principal should be designated by a role, not as an instance of a
principal; To find an instance of a default-principal find a principal that
is mapped to a role that has 'run-as' attribute set to true (same as
'run-as' principal)

Default (and run-as) principal should be logged in as any other principal;
Login service will create a subject with all types of principals that are
applicable to the specified security realm and login domain; (Currently this
is done by utility code, not login service)

You would not be able to insert a subject into the context unless subject is
authenticated (contains valid identification principal).

Authentication of a default (run-as) principal can be done in several ways;
Most obvious is to specify authentication credential when mapping default
(run-as) principal; (There are other ways such that you do not have to
specify credentials at all (later)).

I looked at interceptors and it seems that default-principal is either
passed in, or subject for the default principal is passed in; So
interceptors can either perform default-principal (run-as) authentication or
have default (run-as) subject passed in that is already authenticated; Then
an interceptor can insert default (run-as) principal into context without
any additional steps;

It looks like interceptor code could be optimized so it does not login
default (run-as) principals more than once;

Comments?

Simon

Reply via email to