Hi Heikki,
Thanks for your answer!
I've tried your suggestion and I managed to get some variables dynamically from
an SQL database.
When I try AuthColumnDef twice in two different AuthBy SQL's it doesn't seem to
work though. The 'AUTH_BACKEND' and 'CONNECTION_ID' are working properly. When
Radiator reaches the AuthBy LDAP2 it tries to connect with LDAP to
'LDAP_SERVER'. The value of this attribute isn't set and therefore Radiator is
unable to authenticate against the Active Directory. The query in AuthSelect is
returning correct values though.
Is it not possible to use AuthColumnDef twice or something? I tried different
configurations with the Authby's outside an Handler as well.
The current configuration is as follows:
---
LogDir C:\Program Files\Radiator\logs
LogFile %L\%Y%m%d-%H00-radius.log
DbDir C:\Progam Files\Radiator
DictionaryFile C:\Program Files\Radiator\dictionary
Trace 5
<Client DEFAULT>
Secret mysecret
DupInterval 0
</Client>
<AuthBy SQL>
Identifier DETERMINE_AUTH_BACKEND
DBSource dbi:ODBC:DRIVER={SQL
Server};SERVER={localhost};DATABASE=dbPMS
DBUsername sa_pmsuser
DBAuth 123pms
AuthSelect EXEC spGetAuthenticationSource %0,
%{Quote:%{NAS-Port-Type}}, %{Quote:%{Service-Type}}, %{Quote:%{Acct-Sess-ID}}
AuthColumnDef 0, AUTH_BACKEND, request
AuthColumnDef 1, CONNECTION_ID, request
</AuthBy>
<Handler>
AuthByPolicy ContinueWhileAccept
<AuthBy GROUP>
AuthByPolicy ContinueUntilAccept
AuthBy DETERMINE_AUTH_BACKEND
</AuthBy>
<AuthBy HANDLER>
HandlerId AUTH_USER_%{AUTH_BACKEND}
</AuthBy>
#AuthBy sql-add-reply-attributes
</Handler>
<Handler>
Identifier AUTH_USER_realmLDAP
AuthByPolicy ContinueWhileAccept
<AuthBy SQL>
DBSource dbi:ODBC:DRIVER={SQL
Server};SERVER={localhost};DATABASE=dbPMS
DBUsername sa_pmsuser
DBAuth 123pms
AuthSelect EXEC spLDAPGetProperties %0, %{CONNECTION_ID}
AuthColumnDef 0, LDAP_SERVER, request
AuthColumnDef 1, LDAP_AUTHDN, request
AuthColumnDef 2, LDAP_AUTHPASSWORD, request
AuthColumnDef 3, LDAP_BASEDN, request
AuthColumnDef 4, LDAP_SEARCH_FILTER, request
</AuthBy>
<AuthBy LDAP2>
Host %{LDAP_SERVER}
AuthDN %{LDAP_AUTHDN}
AuthPassword %{LDAP_AUTHPASSWORD}
BaseDN %{LDAP_BASEDN}
SearchFilter
(&(userPrincipalName=%1)(memberOf=%{LDAP_SEARCH_FILTER}))
ServerChecksPassword
HoldServerConnection
#Debug 255
Timeout 10
FailureBackoffTime 1
Version 3
</AuthBy>
</Handler>
---
Logging:
---
Code: Access-Request
Identifier: 71
Authentic: <245><135><138>2<21><143>'<136><169><201><134>}<251><24>@<246>
Attributes:
User-Name = "[email protected]"
Service-Type = Framed-User
NAS-IP-Address = 203.63.154.1
NAS-Identifier = "203.63.154.1"
NAS-Port = 1234
Called-Station-Id = "123456789"
Calling-Station-Id = "987654321"
NAS-Port-Type = Async
User-Password = <158><252>xt"cP<217><217><197><4><229><208>-<6>;
Mon Apr 11 10:02:41 2011: DEBUG: Handling request with Handler '', Identifier ''
Mon Apr 11 10:02:41 2011: DEBUG: Deleting session for
[email protected], 203.63.154.1, 1234
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthGROUP:
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthSQL:
DETERMINE_AUTH_BACKEND
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthSQL:
DETERMINE_AUTH_BACKEND
Mon Apr 11 10:02:41 2011: DEBUG: Query is: 'EXEC spGetAuthenticationSource
'[email protected]', 'Async', 'Framed-User', ''':
Mon Apr 11 10:02:41 2011: DEBUG: Radius::AuthSQL looks for match with
[email protected] [[email protected]]
Mon Apr 11 10:02:41 2011: DEBUG: Radius::AuthSQL ACCEPT: :
[email protected] [[email protected]]
Mon Apr 11 10:02:41 2011: DEBUG: Radius::AuthGROUP: DETERMINE_AUTH_BACKEND
result: ACCEPT,
Mon Apr 11 10:02:41 2011: DEBUG: AuthBy GROUP result: ACCEPT,
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthHANDLER:
Mon Apr 11 10:02:41 2011: DEBUG: AuthBy HANDLER is redirecting to Handler
'AUTH_USER_realmLDAP'
Mon Apr 11 10:02:41 2011: DEBUG: Handling request with Handler '', Identifier
'AUTH_USER_realmLDAP'
Mon Apr 11 10:02:41 2011: DEBUG: Deleting session for
[email protected], 203.63.154.1, 1234
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthSQL:
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthSQL:
Mon Apr 11 10:02:41 2011: DEBUG: Query is: 'EXEC spLDAPGetProperties
'[email protected]', 369':
Mon Apr 11 10:02:41 2011: DEBUG: Radius::AuthSQL looks for match with
[email protected] [[email protected]]
Mon Apr 11 10:02:41 2011: DEBUG: Radius::AuthSQL ACCEPT: :
[email protected] [[email protected]]
Mon Apr 11 10:02:41 2011: DEBUG: AuthBy SQL result: ACCEPT,
Mon Apr 11 10:02:41 2011: DEBUG: Handling with Radius::AuthLDAP2:
Mon Apr 11 10:02:41 2011: INFO: Connecting to :389
Mon Apr 11 10:02:41 2011: ERR: Could not open LDAP connection to :389. Backing
off for 1 seconds.
Mon Apr 11 10:02:41 2011: DEBUG: AuthBy LDAP2 result: IGNORE, User database
access error
Mon Apr 11 10:02:41 2011: DEBUG: AuthBy HANDLER result: IGNORE, User database
access error
_______________________________________________
radiator mailing list
[email protected]
http://www.open.com.au/mailman/listinfo/radiator