Subversion Repositories ALCASAR

Rev

Rev 344 | Rev 658 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 344 Rev 620
Line 63... Line 63...
63
						//attribut uid pour un ldap standard, samaccountname pour AD
63
						//attribut uid pour un ldap standard, samaccountname pour AD
64
						//par défaut : filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
64
						//par défaut : filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
65
$ldap_base_filter = "";	//
65
$ldap_base_filter = "";	//
66
						//par défaut : # base_filter = "(objectclass=radiusprofile)"
66
						//par défaut : # base_filter = "(objectclass=radiusprofile)"
67
 
67
 
68
 
-
 
69
/********************************************************
68
/********************************************************
70
*		Fichier ALCASAR_RADIUS_SITE		*
69
*		Fichier ALCASAR_RADIUS_SITE		*
71
*********************************************************/
70
*********************************************************/
72
//variables pour le parcourt des fichiers
71
//variables pour le parcourt des fichiers
73
//$ouvre : fichier ouvert
72
//$ouvre : fichier ouvert
Line 183... Line 182...
183
	$l_ldap_user_text			= "Laissez vide pour utiliser un accès invité. Si renseigné, il se connectera au serveur LDAP en tant qu'un utilisateur spécifié, exemple: 'uid=Utilisateur,ou=MonUnité,o=MaCompagnie,c=FR'. Requis pour les serveurs possédant un Active Directory.";
182
	$l_ldap_user_text			= "Laissez vide pour utiliser un accès invité. Si renseigné, il se connectera au serveur LDAP en tant qu'un utilisateur spécifié, exemple: 'uid=Utilisateur,ou=MonUnité,o=MaCompagnie,c=FR'. Requis pour les serveurs possédant un Active Directory.";
184
	$l_ldap_password_label		= "Mot de passe LDAP:";
183
	$l_ldap_password_label		= "Mot de passe LDAP:";
185
	$l_ldap_password_text		= "Laissez vide pour un accès invité. Sinon, indiquez le mot de passe de connexion. Requis pour les serveurs possédant un Active Directory.";
184
	$l_ldap_password_text		= "Laissez vide pour un accès invité. Sinon, indiquez le mot de passe de connexion. Requis pour les serveurs possédant un Active Directory.";
186
	$l_ldap_submit				= "Enregistrer";
185
	$l_ldap_submit				= "Enregistrer";
187
	$l_ldap_reset				= "Annuler";
186
	$l_ldap_reset				= "Annuler";
-
 
187
	$l_ldap_test_ok				= "Connexion LDAP réussie...";
-
 
188
	$l_ldap_test_hs				= "Connexion LDAP échouée...";
-
 
189
	$l_ldap_test_hs2			= "Impossible de se connecter au serveur LDAP.";
188
} else {
190
} else {
189
	$l_ldap_title				= "External authentication : LDAP";
191
	$l_ldap_title				= "External authentication : LDAP";
190
	$l_ldap_legend				= "LDAP authentication";
192
	$l_ldap_legend				= "LDAP authentication";
191
	$l_ldap_auth_enable_label	= "Use LDAP authentication :";
193
	$l_ldap_auth_enable_label	= "Use LDAP authentication :";
192
	$l_ldap_YES					= "YES";
194
	$l_ldap_YES					= "YES";
Line 203... Line 205...
203
	$l_ldap_user_text			= "Leave blank to use anonymous binding. If filled uses the specified distinguished name on login attempts to find the correct user, e.g. 'uid=Username,ou=MyUnit,o=MyCompany,c=US'. Required for Active Directory Servers.";
205
	$l_ldap_user_text			= "Leave blank to use anonymous binding. If filled uses the specified distinguished name on login attempts to find the correct user, e.g. 'uid=Username,ou=MyUnit,o=MyCompany,c=US'. Required for Active Directory Servers.";
204
	$l_ldap_password_label		= "LDAP password:";
206
	$l_ldap_password_label		= "LDAP password:";
205
	$l_ldap_password_text		= "Leave blank to use anonymous binding. Else fill in the password for the above user. Required for Active Directory Servers.";
207
	$l_ldap_password_text		= "Leave blank to use anonymous binding. Else fill in the password for the above user. Required for Active Directory Servers.";
206
	$l_ldap_submit				= "Save";
208
	$l_ldap_submit				= "Save";
207
	$l_ldap_reset				= "Reset";
209
	$l_ldap_reset				= "Reset";
-
 
210
	$l_ldap_test_ok				= "LDAP connexion success...";
-
 
211
	$l_ldap_test_hs				= "LDAP connexion failed...";
-
 
212
	$l_ldap_test_hs2			= "LDAP server is not reachable.";
-
 
213
}
-
 
214
 
-
 
215
function ldap_test($f_ldap_server, $f_ldap_identity, $f_ldap_password, $f_ldap_port = "389"){
-
 
216
	// Test du serveur
-
 
217
	if (!$sock = @fsockopen($f_ldap_server, $f_ldap_port, $num, $error, 2)) {
-
 
218
		return -1;
-
 
219
	} else {
-
 
220
		fclose($sock);
-
 
221
		// Connexion au serveur LDAP
-
 
222
		$ldapconn = ldap_connect($f_ldap_server, $f_ldap_port);
-
 
223
		ldap_set_option($ldapconn, LDAP_OPT_TIMELIMIT, 2);
-
 
224
		if ($ldapconn) {
-
 
225
			$ldapbind = ldap_bind($ldapconn, $f_ldap_identity, $f_ldap_password);
-
 
226
			if ($ldapbind) {
-
 
227
				$resp = 1;
-
 
228
				ldap_unbind($ldapconn);	
-
 
229
			} else {
-
 
230
				$resp = 0;
-
 
231
			}
-
 
232
			return $resp;
-
 
233
		} else {
-
 
234
			return -1;
-
 
235
		}
-
 
236
		return 1;
-
 
237
	}
208
}
238
}
-
 
239
 
209
/********************************
240
/********************************
210
*		TO DO		*
241
*		TO DO		*
211
*********************************/
242
*********************************/
212
//internationnalisation à mettre en haut du fichier pour internationnaliser les erreurs de script!
243
//internationnalisation à mettre en haut du fichier pour internationnaliser les erreurs de script!
213
?>
244
?>
Line 225... Line 256...
225
 
256
 
226
	if (document.getElementById("auth_enable").value == "1"){
257
	if (document.getElementById("auth_enable").value == "1"){
227
		for (var i=0;i<listToDisables.length;i++){
258
		for (var i=0;i<listToDisables.length;i++){
228
			document.getElementById(listToDisables[i]).style.backgroundColor ="#ffffff";
259
			document.getElementById(listToDisables[i]).style.backgroundColor ="#ffffff";
229
			document.getElementById(listToDisables[i]).disabled = false;
260
			document.getElementById(listToDisables[i]).disabled = false;
230
		
-
 
231
		}
261
		}
232
	} else {
262
	} else {
233
		for (var i=0;i<listToDisables.length;i++){
263
		for (var i=0;i<listToDisables.length;i++){
234
			document.getElementById(listToDisables[i]).style.backgroundColor ="#c0c0c0";
264
			document.getElementById(listToDisables[i]).style.backgroundColor ="#c0c0c0";
235
			document.getElementById(listToDisables[i]).disabled = true;
265
			document.getElementById(listToDisables[i]).disabled = true;
236
		
-
 
237
		}
266
		}
238
	}
267
	}
239
}
268
}
240
</script>
269
</script>
241
</head>
270
</head>
Line 246... Line 275...
246
</table>
275
</table>
247
<table width="100%" border=1 cellspacing=0 cellpadding=1>
276
<table width="100%" border=1 cellspacing=0 cellpadding=1>
248
<tr><td valign="middle" align="left">
277
<tr><td valign="middle" align="left">
249
<form name="config_ldap" method="post" action="update_ldap.php">
278
<form name="config_ldap" method="post" action="update_ldap.php">
250
<fieldset>
279
<fieldset>
-
 
280
<legend>
-
 
281
<?php
251
<legend><?php echo $message; ?></legend>
282
echo $message; 
-
 
283
$tmp_host = explode("//",$ldap_server); //pour discriminer le host et le protocole
-
 
284
//to do : pour la prochaine version, prise en compte du choix du port LDAP (configurable par le formulaire)
-
 
285
if (($ldap == "ldap") && (function_exists('ldap_connect'))){
-
 
286
	echo "<div align='center'><br>";	
-
 
287
	switch(ldap_test($tmp_host[1], $ldap_identity, $ldap_password)){
-
 
288
		case -1:
-
 
289
			echo "<font color='red'>".$l_ldap_test_hs2."</font>";
-
 
290
			break;
-
 
291
		case 0:
-
 
292
			echo "<font color='red'>".$l_ldap_test_hs."</font>";
-
 
293
			break;
-
 
294
		case 1:
-
 
295
			echo "<font color='green'>".$l_ldap_test_ok."</font>";
-
 
296
		break;
-
 
297
		default:
-
 
298
			echo "LDAP error";
-
 
299
	}
-
 
300
	echo "<br><br></div>"; 
-
 
301
}
-
 
302
?>
-
 
303
</legend>
252
<dl>
304
<dl>
253
  <dt>
305
  <dt>
254
    <label for="auth_enable"><?php echo $l_ldap_auth_enable_label; ?></label>
306
    <label for="auth_enable"><?php echo $l_ldap_auth_enable_label; ?></label>
255
  </dt>
307
  </dt>
256
  <dd>
308
  <dd>