2012-08-15 52 views
-1

用户的详细信息,我想知道我在哪里或如何获得用户的详细信息 如用户名,身份证号码和电子邮件时,他/她登录-中的 企业内部网使用PHP的网络?如何捕获Windows中使用PHP

我想使用这些详细信息来自动验证用户到我正在开发的网络应用程序 。

我已阅读过有关AUTH_USER,但我在哪里或如何访问该变量?

+0

看起来像不可能的东西! – Sourav 2012-08-15 06:25:13

+0

你使用什么样的认证? – 2012-08-15 06:28:40

+0

该数据不是由浏览器提供的;即使它是,你如何验证它没有密码? – 2012-08-15 06:31:52

回答

1

你可以通过PHP LDAP函数完成你想要的大部分功能。唯一的问题是你需要为每个用户获得一个独特的项目。你将不得不做更多的研究,但我非常肯定,如果你使用IIS作为web服务器而不是Apache,那么在另一端获取用户的登录名/用户名会有一些怪癖或诡计 - 你可以然后用以下列方式对LDAP进行查询:

<?php 
// $ds is a valid link identifier for a directory server 

// $person is all or part of a person's name, eg "Jo" 

$dn = "o=My Company, c=US"; 
$filter="(|(sn=$person*)(givenname=$person*))"; 
$justthese = array("ou", "sn", "givenname", "mail"); 

$sr=ldap_search($ds, $dn, $filter, $justthese); 

$info = ldap_get_entries($ds, $sr); 

echo $info["count"]." entries returned\n"; 
?> 

Apache将仅将AUTH_USER作为空白返回。解决方法是为其登录创建一次性请求,将其存储在cookie中并使用相同的LDAP查询获取用户的最新信息。

+0

我正在使用apache2先生。 – JCm 2012-08-15 06:32:38

+0

@Jayzee是的,我认为诀窍就是使用IIS,然后在微软产品互相交谈的地方有一些半不安全的地方,你可以利用它。一点谷歌搜索只是帮助。您所指的AUTH_USER是IIS获取用户信息的技巧。一旦你有了这些,你可以查询你的LDAP服务器(假设公司有他们的可能) – Fluffeh 2012-08-15 06:35:37

+0

其实,先生,服务器上有两个http服务器,有IIS和Apache。尽管我开发的所有工具都使用Apache,而其他一些开发人员在其中使用了IIS中的Web应用程序工具。当我的http服务器是Apache时,没有办法获得用户的详细信息吗? – JCm 2012-08-15 06:40:04

相关问题