Hello Christopher,

here's my take:

<Handler>
    AuthByPolicy ContinueWhileReject
    <AuthBy GROUP>
        AuthByPolicy ContinueWhileAccept
        AuthBy LDAP2
        AuthBy DUO
        # DUO is async, returns IGNORE, just like RADIUS
    </AuthBy>

    AuthBy RADIUS
</Handler>

If LDAP happens to be down or returns an error, AuthBy LDAP2 will return
IGNORE and GROUP will not continue. This might be a good thing too?

Thanks,
Heikki


On 11/07/2013 08:31 PM, Christopher Bongaarts wrote:
> That would seem to yield the effective logic:
> 
> AuthBy LDAP2
> if result = ACCEPT
> then
>    AuthBy DUO
>    if result != ACCEPT
>    then
>      AuthBy RADIUS
>    endif
> endif
> 
> which is not what I want - either DUO or RADIUS should be invoked, never 
> both; which one is invoked is determined by the result of LDAP2.
> 
> This is close:
> 
> <AuthBy GROUP>
>    AuthByPolicy ContinueUntilAccept
>    <AuthBy GROUP>
>      AuthByPolicy ContinueWhileAccept
>      AuthBy LDAP2
>      AuthBy DUO
>    </AuthBy>
>    AuthBy RADIUS
> </AuthBy>
> 
> but will invoke RADIUS unnecessarily if LDAP2 returns ACCEPT but DUO 
> returns REJECT or IGNORE.  Security-wise this is OK (it is not possible 
> for this RADIUS to succeed if LDAP2 succeeded) but does put an extra 
> load on the proxied RADIUS service.
> 
> On 11/6/2013 4:24 PM, Hugh Irvine wrote:
>> Hello Christopher -
>>
>> Something like this:
>>
>>      <AuthBy GROUP>
>>              AuthByPolicy ContinueWhileAccept
>>              AuthBy LDAP2
>>              <AuthBy GROUP>
>>                      AuthByPolicy ContinueUntilAccept
>>                      AuthBy DUO
>>                      AuthBy RADIUS
>>              </AuthBy>
>>      </AuthBy>
>>
>> regards
>>
>> Hugh
>>
>>
>> On 7 Nov 2013, at 08:51, Christopher Bongaarts <c...@umn.edu> wrote:
>>
>>> I have a need to handle multiple authentication methods which returns
>>> something like this:
>>>
>>> AuthBy LDAP2
>>> if result = ACCEPT
>>> then
>>>      AuthBy DUO
>>>   else
>>>      AuthBy RADIUS
>>>
>>> with the ultimate authentication result coming from either the DUO or
>>> RADIUS module.  I tried to figure out a way to arrange some combination
>>> of AuthBy GROUP and AuthByPolicy to make this fly but I can't seem to
>>> figure out a way to make it work.  Any suggestions?
>>>
>>> -- 
>>> %%  Christopher A. Bongaarts   %%  c...@umn.edu          %%
>>> %%  OIT - Identity Management  %%  http://umn.edu/~cab  %%
>>> %%  University of Minnesota    %%  +1 (612) 625-1809    %%
>>>
>>> _______________________________________________
>>> radiator mailing list
>>> radiator@open.com.au
>>> http://www.open.com.au/mailman/listinfo/radiator
>>
>> --
>>
>> Hugh Irvine
>> h...@open.com.au
>>
>> Radiator: the most portable, flexible and configurable RADIUS server
>> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
>> Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
>> TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
>> DIAMETER etc.
>> Full source on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.
>>
> 
> 


-- 
Heikki Vatiainen <h...@open.com.au>

Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
NetWare etc.
_______________________________________________
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator

Reply via email to