On 1 Jul 2009, at 13:59, Angela Schreiber wrote:
hi ian
If I want to determine if the an Authorizable has a Principal
what do you mean by "if an authorizable has a principal"?
I need to answer the question.
Is userA a member of groupB either directly or indirectly.
userA is a member of about 100 groups, the group hierarchy is several
levels deep and some of the principals are come from custom
PrincipalProvider implementations.
in case you are referring to the fact that an authorizable
can have more than a single principal associated with it
there something like Authorizable#getPrincipals in the api.
see also Authorizable#addReferee and #removeReferee.
thank you
Ian
regards
angela
(presumably witht the PrincipalManager), is there a way of doing
this with the DefaultSecurityManager in JR15 and later, other than
iterating through all the possible principals and searching for a
match.
We have uses that have a lot of principals, and getting them and
iterating is inefficient (IMHO), I would like to be able to perform
a search
eg
/**
* @param myPrincipal the principal to be checked
* @param candidatePrincipal the principal that we are checking to
see if myPrincipal has
* @retrun true if myPrincipal has candidatePrincipal, false otherwise
*/
boolean principalManager.hasPrincipal(Principal myPrincipal,
Principal candidatePrincipal)
Ideally I would like that to propagate through to the
PrincipalProviders as this is really an search query that could be
expensive.
Is there a way of achinving this *without* changing anyhing inside
JR15 ?
Ian