On Sep 14, 2009, at 12:51 AM, Ivan wrote:

Hi
In the LoginModuleGBean, there is an attribute named loginDomainName, I went through the codes, just found that while the WrappingLoginModule is turned on, those domainNames are used in the Subject as DomainPrincipal. Except for this, is there any use for those loginDomainNames ? And, I did not found any example for WrappingLoginModule, so when we would use it ?
 Thanks !

I thought this was documented somewhere, but I could easily be wrong, and the explanation might not include enough info for anyone to know why...

Most people use the simplest form of principal-role mapping, where you specify the class and name of the actual Principal from the login module you specify. However, it's possible to think up more complicated scenarios where this is not enough to identify the principal for the principal-role mapping.

lets suppose you have an ejb app C with 2 web apps A and B in front of it. Your ejb app has 2 roles r1 and r2. You have two legacy security systems S1 and S2 with proprietary login modules that both happen to supply the same principal class. You need to use S1 with A and S2 with B. S1 and S2 both provide principals with names "g1" and "g2" but the meaning is opposite..... you need

For S1 and A,
"g1" > r1
"g2" > r2

but for S2 and B,
"g1" > r2
"g2" > r1

So, you need more information to distinguish the principals so you can map them to the correct roles. Geronimo lets you wrap the original principals with a wrapper that contains a name of the login module "loginDomainName" and the name of the security realm, and the principal-role mapping can specify these as well. You'd use the loginDomainName if you set up a single security realm that includes the login modules for S1 and S2, and the security realm if you set up two separate security realms.

I don't know if anyone has used this or ever will, but we thought we'd be thorough.

thanks
david jencks

--
Ivan

Reply via email to