mod*_*z0r 6 php apache-flex active-directory
有没有办法将我的Flex Web应用程序连接到Active Directory,并获取登录的用户名?
现在我们有一个PHP脚本连接到flex应用程序,它从用户获取用户/传递输入并检查AD中是否有这样的用户,并且密码是正确的.
我不想要求用户/通行证,而是让应用程序获得与其连接的域用户名,因此我可以使用它(检查用户是否可以访问我的应用程序等).
有办法吗?
<?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...";
}
}
?>
Run Code Online (Sandbox Code Playgroud)
当您的应用程序启动时,您需要使用 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
Run Code Online (Sandbox Code Playgroud)
我需要的用户名/密码是管理员凭据还是系统上的任何用户?
您可以单独获取用户名,而不是密码...当用户登录到他的窗口机器时,我们可以Environment.username在 C# 中使用检查他的凭据,在 PHP 中我们可以使用 AUTH_USER 来验证登录的用户是否有效。
另外,您知道在哪里可以找到变量列表(例如 auth_user)并获取哪些信息?
https://www.php.net/manual/en/ref.ldap.php
您可以从上面的链接获得很多信息。