Bonjour les flexeurs et flexseuses!!!!!

Voila jai envie de récupérer le login de la session windows à partir de mon application flex. Et ceci afin de permettre d'identifier les utilisateurs ou de leurs interdire l'accès.

J'ai essayé un code PHP en passant par AMF mais il me bloque tout le service AMF(fonctionnel jusqu'à là).
voici le code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
 
class MaClasse{
 
MaFonction(){
 
$headers = apache_request_headers(); 	// Récupération de l'entête client
 
if ($_SERVER['HTTP_VIA'] != NULL)
{ // le ntlm ne passe pas par proxy :(
	$Result = "Proxy bypass!";
}
else if($headers['Authorization'] == NULL)
{				//si l'entete autorisation est inexistante
	header( "HTTP/1.0 401 Unauthorized" );			//envoi au client le mode d'identification
	header( "WWW-Authenticate: NTLM" );			//dans notre cas le NTLM
	exit;							//on quitte
 
}
if(isset($headers['Authorization'])) 				//dans le cas d'une authorisation (identification)
{		
	if(substr($headers['Authorization'],0,5) == 'NTLM ')
	{ 	// on vérifit que le client soit en NTLM
 
		$chaine=$headers['Authorization']; 					
		$chaine=substr($chaine, 5); 			// recuperation du base64-encoded type1 message
		$chained64=base64_decode($chaine);		// decodage base64 dans $chained64
 
		if(ord($chained64{8}) == 1)
		{					
		// 		  |_ byte signifiant l'etape du processus d'identification (etape 3)		
 
		// verification du drapeau NTLM "0xb2" à l'offset 13 dans le message type-1-message (comp ie 5.5+) :
			//if (ord($chained64[13]) != 178)
			//{
			//	echo "NTLM Flag error!";
			//	exit;
			//}
 
			$retAuth = "NTLMSSP".chr(000).chr(002).chr(000).chr(000).chr(000).chr(000).chr(000).chr(000);
			$retAuth .= chr(000).chr(040).chr(000).chr(000).chr(000).chr(001).chr(130).chr(000).chr(000);
			$retAuth .= chr(000).chr(002).chr(002).chr(002).chr(000).chr(000).chr(000).chr(000).chr(000);
			$retAuth .= chr(000).chr(000).chr(000).chr(000).chr(000).chr(000).chr(000);
 
			$retAuth64 =base64_encode($retAuth);		// encode en base64
			$retAuth64 = trim($retAuth64); 			// enleve les espaces de debut et de fin
			header( "HTTP/1.0 401 Unauthorized" ); 		// envoi le nouveau header
			header( "WWW-Authenticate: NTLM $retAuth64" );	// avec l'identification supplémentaire
			exit;
		}		
		else if(ord($chained64{8}) == 3)
		{
		// 		       |_ byte signifiant l'etape du processus d'identification (etape 5)
 
			// on recupere le domaine
			$lenght_domain = (ord($chained64[31])*256 + ord($chained64[30])); // longueur du domain
			$offset_domain = (ord($chained64[33])*256 + ord($chained64[32])); // position du domain.	
			$domain = str_replace("\0","",substr($chained64, $offset_domain, $lenght_domain)); // decoupage du du domain
 
			//le login
			$lenght_login = (ord($chained64[39])*256 + ord($chained64[38])); // longueur du login.
			$offset_login = (ord($chained64[41])*256 + ord($chained64[40])); // position du login.
			$loginindex = str_replace("\0","",substr($chained64, $offset_login, $lenght_login)); // decoupage du login
 
			if ( $loginindex != NULL)
			{				
				// stockage des données dans des variable de session
				//$_SESSION['login']=$loginindex;
				//$url.="portail/traitements/traitement_login.php";
				//header("Location: " .$url);
 
				$Result = $loginindex;
 
				exit;
			}
			else
			{
			throw new Error("Erreur");
			}
		}
	}
}
return ($Result);
}
 
}
 
?>
Je retourne $Result et dans mon code mxml (action script) j'affiche juste le résultat.

Merci pour votre aide