2010-05-13 59 views
6

有没有办法将我的flex web应用程序连接到Active Directory并获取登录的用户名?将flex/php连接到Active Directory

现在我们有一个连接到flex应用程序的PHP脚本,它从用户获取用户/密码输入并检查AD中是否有这样的用户,并且密码正确。
我不想问用户/通行证,而是让应用程序获得连接到它的域用户名,以便我可以使用它(检查用户是否有权访问我的应用程序等)。

有没有办法做到这一点?

回答

3
<?php 

// using ldap bind 
$ldaprdn = 'uname';  // ldap rdn or dn 
$ldappass = 'password'; // associated password 

// connect to ldap server 
$ldapconn = ldap_connect("ldap.example.com") 
    or die("Could not connect to LDAP server."); 

if ($ldapconn) { 

    // binding to ldap server 
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); 

    // verify binding 
    if ($ldapbind) { 
     echo "LDAP bind successful..."; 
    } else { 
     echo "LDAP bind failed..."; 
    } 

} 

?> 

当您的应用程序启动时,您需要使用Windows登录凭证访问LDAP。

`AUTH_USER` request variable is the one which you have to check. 
    This will hold your Windows login username and AUTH_USER will be 
    MYDOMAINNAME\user.name 

的用户名/密码,我需要这个, 是管理员凭据,或系统上的任何用户 ?

你可以独自一人的用户名,而不是密码...当用户登录到他的窗口的机器,我们可以检查在C#和在PHP中使用Environment.username他的证件,我们可以使用AUTH_USER来验证登录的用户已验证。

另外,你知道我在哪里可以找到的 变量(如AUTH_USER)一 列表我该信息能得到什么?

http://in3.php.net/manual/en/ref.ldap.php

您可以从上面的链接获得了大量的信息。

+0

我需要的用户名/密码是管理员凭证还是系统上的任何用户? 另外,你知道我在哪里可以找到一个变量列表(如auth_user),我可以获取哪些信息? – modz0r 2010-05-14 14:09:29

+0

是的,我并不是指获取用户的密码..我的意思是我需要输入$ ldaprdn/$ ldappass变量的用户名/密码。 我会检查你写的和明天的链接..但是看起来这就是我所需要的(一旦我确认它,我会接受答案)。谢谢! – modz0r 2010-05-15 19:35:31

+0

好的,所以它看起来像我们用过的东西,它不完全是我们需要的,但这是我们能够得到的最好结果。 我想要做的是获取这些信息,而不要求用户输入他的用户名/密码。那么,这是我可以得到的结果。谢谢您的帮助! – modz0r 2010-05-16 07:55:07

相关问题