IFtpAuthenticationProvider::AuthenticateUser-Methode

Überprüft, ob benutzername und kennwort gültig sind.

Syntax

AuthenticateUser( 
   LPWSTR pszSessionId, 
   LPWSTR pszSiteName, 
   LPWSTR pszUserName, 
   LPWSTR pszPassword, 
   LPWSTR * ppszCanonicalUserName, 
   long * pfAuthenticated 
) 

Parameter

Begriff Definition
pszSessionId Ein Zeiger auf eine Zeichenfolge, die die Sitzungs-ID enthält.
pszSiteName Ein Zeiger auf eine Zeichenfolge, die den Websitenamen enthält.
pszUserName Ein Zeiger auf eine Zeichenfolge, die den Benutzernamen enthält.
pszPassword Ein Zeiger auf eine Zeichenfolge, die das Kennwort enthält.
ppszCanonicalUserName Ein Zeiger auf eine Zeichenfolge, die den kanonischen Namen des Benutzers enthält.
pfAuthenticated Ein Zeiger auf eine lange ganze Zahl, die enthält true , wenn der Benutzer authentifiziert ist, falseandernfalls .

Rückgabewert

HRESULT. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Wert BESCHREIBUNG
S_OK Gibt an, dass der Vorgang erfolgreich war.

Bemerkungen

Der ppszCanonicalUserName Parameter kann verwendet werden, um Benutzernamen zu kanonisieren. Die vorgeschlagene kanonische Form lautet Domäne\Benutzer, da in früheren Versionen von IIS-FTP-Servern der Benutzername im Formular Domäne\Benutzer angegeben sein musste.

Ein Windows-Authentifizierung-basierter Anbieter kann mit dieser Methode nicht implementiert werden, da diese Form der Authentifizierung das Zurückgeben von Benutzertoken nicht zulässt.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe der IFtpAuthenticationProvider Schnittstelle ein benutzerdefiniertes Authentifizierungsmodul für den FTP-Dienst erstellen, der Die Überprüfungen des Benutzernamens implementiert.

public: 
   STDMETHOD(AuthenticateUser)(LPWSTR pszSessionId, 
      LPWSTR pszSiteName, 
      LPWSTR pszUserName, 
      LPWSTR pszPassword, 
      LPWSTR * ppszCanonicalUserName, 
      long * pfAuthenticated) 
      { 
      // Note: You would add your own custom logic here. 
      *ppszCanonicalUserName = pszUserName; 
 
      CString strUserName = L"MyUser"; 
      CString strPassword = L"MyPassword"; 
 
      // Verify that the user name and password are valid. 
      // In this example, the user name is case-insensitive 
      // and the password is case-sensitive. 
      if ((strUserName.CompareNoCase(pszUserName)==0) && 
          (strPassword.Compare(pszPassword)==0)) 
      { 
         *pfAuthenticated = TRUE; 
      } 
      else 
      { 
         *pfAuthenticated = FALSE; 
   } 
      return S_OK; 
   } 

Anforderungen

type BESCHREIBUNG
Client – IIS 7.5 unter Windows 7
– IIS 8.0 unter Windows 8
– IIS 10.0 auf Windows 10
Server – IIS 7.5 unter Windows Server 2008 R2
– IIS 8.0 unter Windows Server 2012
– IIS 8.5 unter Windows Server 2012 R2
– IIS 10.0 auf Windows Server 2016
Produkt – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
Verweis ftpext.tlb

Weitere Informationen

IFtpAuthenticationProvider-Schnittstelle