Megosztás:


Útmutató: Csatlakozás Windows-hitelesítéssel

PHP-illesztőprogram letöltése

Alapértelmezés szerint az SQL Server PHP-illesztőprogramjai Windows-hitelesítéssel csatlakoznak az SQL Serverhez. Fontos megjegyezni, hogy a legtöbb esetben ez azt jelenti, hogy a webkiszolgáló folyamati identitását vagy szálidentitását (ha a webkiszolgáló megszemélyesítést használ) a kiszolgálóhoz való csatlakozáshoz használja, nem pedig a végfelhasználó identitásához.

A következő szempontokat kell figyelembe venni, amikor Windows-hitelesítést használ az SQL Serverhez való csatlakozáshoz:

  • A webkiszolgáló folyamatának (vagy szálának) a futtatása során használt hitelesítő adatoknak érvényes SQL Server-bejelentkezéshez kell kapcsolódniuk a kapcsolat létrehozása érdekében.

  • Ha az SQL Server és a webkiszolgáló különböző számítógépeken található, az SQL Servert úgy kell konfigurálni, hogy engedélyezze a távoli kapcsolatokat.

Megjegyzés:

Kapcsolati attribútumok, például az Adatbázis és a ConnectionPooling beállíthatók a kapcsolat létrehozásakor. A támogatott kapcsolatattribútumok teljes listáját a Kapcsolat beállításai című témakörben találja.

Windows-hitelesítést kell használni az SQL Serverhez való csatlakozáshoz, amikor csak lehetséges, az alábbi okokból:

  • A hitelesítés során a rendszer nem ad át hitelesítő adatokat a hálózaton; a felhasználónevek és jelszavak nincsenek beágyazva az adatbázis-kapcsolati sztringbe. Ez azt jelenti, hogy a rosszindulatú felhasználók vagy támadók nem tudják beszerezni a hitelesítő adatokat a hálózat figyelésével vagy a konfigurációs fájlokban lévő kapcsolati sztringek megtekintésével.

  • A felhasználók központi fiókkezelés alá tartoznak; olyan biztonsági szabályzatok, mint a jelszó lejárati ideje, a jelszó minimális hossza és a fiók zárolása több érvénytelen bejelentkezési kérés kényszerítése után.

Ha a Windows-hitelesítés nem praktikus megoldás, olvassa el a Csatlakozás SQL Server-hitelesítéssel című témakört.

SQLSRV-példa

Az SQL Serverhez készült MICROSOFT Drivers for PHP SQLSRV illesztőprogramjának használatával az alábbi példa a Windows-hitelesítést használja az SQL Server helyi példányához való csatlakozáshoz. A kapcsolat létrejötte után a rendszer lekérdezi a kiszolgálót az adatbázishoz hozzáférő felhasználó bejelentkezéséhez.

A példa feltételezi, hogy az SQL Server és az AdventureWorks adatbázis telepítve van a helyi számítógépen. A rendszer minden kimenetet a böngészőbe ír, amikor a példa a böngészőből fut.

<?php  
/* Specify the server and connection string attributes. */  
$serverName = "(local)";  
$connectionInfo = array( "Database"=>"AdventureWorks");  
  
/* Connect using Windows Authentication. */  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
if( $conn === false )  
{  
     echo "Unable to connect.</br>";  
     die( print_r( sqlsrv_errors(), true));  
}  
  
/* Query SQL Server for the login of the user accessing the  
database. */  
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";  
$stmt = sqlsrv_query( $conn, $tsql);  
if( $stmt === false )  
{  
     echo "Error in executing query.</br>";  
     die( print_r( sqlsrv_errors(), true));  
}  
  
/* Retrieve and display the results of the query. */  
$row = sqlsrv_fetch_array($stmt);  
echo "User login: ".$row[0]."</br>";  
  
/* Free statement and connection resources. */  
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
?>  

PDO_SQLSRV példa

Az alábbi példa az PDO_SQLSRV illesztővel hajtja végre ugyanazt a feladatot, mint az előző minta.

<?php  
try {  
   $conn = new PDO( "sqlsrv:Server=(local);Database=AdventureWorks", NULL, NULL);   
   $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  
}  
  
catch( PDOException $e ) {  
   die( "Error connecting to SQL Server" );   
}  
  
echo "Connected to SQL Server\n";  
  
$query = 'select * from Person.ContactType';   
$stmt = $conn->query( $query );   
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){   
   print_r( $row );   
}  
?>  

Lásd még:

Útmutató: Csatlakozás SQL Server-hitelesítéssel

Programozási útmutató a Microsoft által az SQL Serverhez készült PHP-illesztőprogramokhoz

Tudnivalók a dokumentációban szereplő példakódokról

Útmutató: SQL Server-bejelentkezés létrehozása

Útmutató: Adatbázis-felhasználó létrehozása

Felhasználók, szerepkörök és bejelentkezések kezelése

Felhasználói séma-elkülönítés

Objektumengedélyek megadása (Transact-SQL)