Skript search_hook.pl zajištuje aby uživatelé mohli jako vnější anonymní identitu použít pouze anonymous@cesnet.cz
. Použití skriptu je ukázáno v sekci ověřování identity a oprávnění uživatele.
Pro vaše použití musíte upravit řetězec @cesnet.cz
na Váš realm.
sub { my $authByLDAP = shift; my $username = shift; my $requestPacket = shift; my $userObject = shift; my $EAPIdentity = $requestPacket->{EAPIdentity}; my $outerIdentity = $requestPacket->{outerRequest}->{OriginalUserName};
V případě, že uživatel nepoužívá EAP, není EAPidentity definována a proto je dodefinována.
if (!defined($EAPIdentity) or ($EAPIdentity eq '')) { $EAPIdentity = $username.'@cesnet.cz'; }; if ( (defined($EAPIdentity) and defined($outerIdentity)) and ($EAPIdentity ne $outerIdentity) and ($outerIdentity ne 'anonymous@cesnet.cz')) { &main::log($main::LOG_DEBUG, "User $EAPIdentity/$outerIdentity is trying ". "cheat accounting. I disabled her/him. ;)");
Jestliže se vnější a vnitřní identita neshodují, případně vnější není
anonymous@cesnet.cz
, tak se změní heslo, které Radiator získal
z LDAPu. Uživatel je poději odmítnut s tím, že heslo nebo uživatelské
jméno je špatně. Tato konstrukce je nutná protože SearchHook
nemůže uživatele přímo zamítnout.
$userObject->{Check}->change_attr('User-Password', join('', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64])); return 0; }; };
Skript ke stažení: search_hook.pl.
— Jan Tomášek 15.09.2006 12:18 dokument převeden z www.eduroam.cz
CESNET, z. s. p. o.
Generála Píky 26
160 00 Praha 6
info@cesnet.cz
Tel: +420 234 680 222
GSM: +420 602 252 531
support@cesnet.cz