我们正在使用 IIS 在 php 5.2 上运行一个内部网站。
目前,每个用户都被分配了一个登录名。登录信息通过 php 授权,根据 sql server 数据库表确认信息。
PHP 使用 sql server 身份验证将 select 语句发送到 sql server。
我们希望保留 sql server 身份验证;但是,我们希望用户能够使用 Windows 身份验证访问该站点。
我们如何在 php 站点上实现 windows 身份验证?
我们正在使用 IIS 在 php 5.2 上运行一个内部网站。
目前,每个用户都被分配了一个登录名。登录信息通过 php 授权,根据 sql server 数据库表确认信息。
PHP 使用 sql server 身份验证将 select 语句发送到 sql server。
我们希望保留 sql server 身份验证;但是,我们希望用户能够使用 Windows 身份验证访问该站点。
我们如何在 php 站点上实现 windows 身份验证?
您可以使用LDAP
PHP 的绑定来实现这一点。
这是一个使用ldap_bind
PHP 扩展实现此功能的示例。
此示例实现的是使用目录服务Active Directory
对您的客户端进行身份验证,该目录服务提供 Active Directory域上当前注册用户的列表。
如果您使用的是 Active Directory,那么您可以使用 LDAP 来验证与域的连接:
// load from login form
$user = 'user';
$pass = 'pass';
$ldap = ldap_connect( "example.com" );
if( false === ( $bind = ldap_bind( $ldap, $user, $pass ) ) ) {
// auth error
} else {
// user is authenticated
}