Freeradius authenticate against Active directory
Matthew Newton
mcn4 at leicester.ac.uk
Fri Sep 13 11:17:27 CEST 2013
On Fri, Sep 13, 2013 at 12:23:47AM +0100, trevor obba wrote:
> expand: --username=%{mschap:User-Name:-None} -> --username=test at abc.ac.uk
...
> Exec-Program output: Logon failure (0xc00004f)
> How can I fix the problem of authentication users that type
> in there local realm @abc.ac.uk with their username as well as proxing eduroam
> users?
> Basically, how do I authenticate local user or stripe local
> realm before pass to active directory for authentication?
Use unlang to strip the realm off, something like this before the call to eap:
if ("%{User-Name}" =~ /^([^@]*)(@([-[:alnum:].]+))?$/) {
update request {
Stripped-User-Name := "%{1}"
}
if ("%{3}") {
update request {
Realm := "%{3}"
}
}
else {
# this will reject requests that have no realm
reject
}
}
Then in your mschap module config use Stripped-User-Name instead of User-Name, e.g.
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=abc.ac.uk --username=%{Stripped-User-Name} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}"
Matthew
--
Matthew Newton, Ph.D. <mcn4 at le.ac.uk>
Systems Specialist, Infrastructure Services,
I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom
For IT help contact helpdesk extn. 2253, <ithelp at le.ac.uk>
More information about the Freeradius-Users
mailing list