成功登录ldap后启动php会话

成功登录ldap后启动php会话,php,session,Php,Session,关于启动PHP会话的各种问题似乎很常见,但我还没有遇到任何关于我的问题的描述 我正在使用ldap_bind让用户在我的站点中进行身份验证,我只希望他们在身份验证成功时访问登录后面的页面 为此,我认为我需要创建一个PHP会话,但我应该在登录页面的开始处创建PHP会话,还是只有在他们成功通过ldap\u bind身份验证时才创建PHP会话 如果是后者,那么我应该把session_start()放进去吗在我的if语句中,用于检查提供的用户名和密码是否适用于LDAP绑定,如果适用,我应该在“受保护的”页

关于启动PHP会话的各种问题似乎很常见,但我还没有遇到任何关于我的问题的描述

我正在使用ldap_bind让用户在我的站点中进行身份验证,我只希望他们在身份验证成功时访问登录后面的页面

为此,我认为我需要创建一个PHP会话,但我应该在登录页面的开始处创建PHP会话,还是只有在他们成功通过
ldap\u bind
身份验证时才创建PHP会话

如果是后者,那么我应该把
session_start()放进去吗在我的if语句中,用于检查提供的用户名和密码是否适用于LDAP绑定,如果适用,我应该在
“受保护的”
页面中调用会话用户名吗

我的ldap绑定非常简单:

$ldapconn = ldap_connect("11.222.33.44")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, "uid=$username,cn=users,dc=abc,dc=net", "$password");

    // verify binding
    if ($ldapbind) {
worked
sessinon_start();
} else {
didnt work } }
我的受保护页面顶部可能存在的代码:

<?php if (isset($_SESSION['username']); {
session_start();
} else {
send back to login? 
}

您需要在页面的开头启动会话,并在成功的ldap绑定上设置会话。不,您不需要在受保护的页面中调用用户名,因为ldap本身就是windows身份验证

 session_start();
$ldapconn = ldap_connect("11.222.33.44")
or die("Could not connect to LDAP server.");

if ($ldapconn) {

// binding to ldap server
$ldapbind = ldap_bind($ldapconn, "uid=$username,cn=users,dc=abc,dc=net", "$password");

// verify binding
if ($ldapbind) {
$_SESSION['username']=username;
} else {
//didnt work } }

我是需要在每个受保护页面的顶部使用此选项,还是仅在第一页使用此选项,然后在每个受保护页面的顶部使用session_start?在其他页面中,只需启动session(),然后检查$_session数组中是否存在值(即用户名),在任何受保护页面的顶部是否会出现此选项:session_start();如果(isset($_会话['username']);