IFtpAuthenticationProvider Interface (Managed)

IIS 7.0
 

Provides an interface for authentication checks.

public interface IFtpAuthenticationProvider

The following table lists the methods exposed by the IFtpAuthenticationProvider interface.

Method NameDefinition
AuthenticateUserChecks if a user name and password are valid.

The following code example illustrates using the IFtpAuthenticationProvider and IFtpRoleProvider interfaces to create a custom authentication module for the FTP service that implements both user name and role checks.

using System;  
using Microsoft.Web.FtpServer;  
  
namespace FtpAuthentication  
{  
      public class FtpAuthDemo : BaseProvider,  
      IFtpAuthenticationProvider,  
      IFtpRoleProvider  
   {  
      bool IFtpAuthenticationProvider.AuthenticateUser(  
         string sessionId,  
         string siteName,  
         string userName,  
         string userPassword,  
         out string canonicalUserName)  
      {  
         // Note: You would add your own custom logic here.  
         canonicalUserName = userName;  
         string strUserName = "MyUser";  
         string strPassword = "MyPassword";  
  
         // Verify that the user name and password are valid.  
         // Note: In this example, the user name is case-insensitive  
         // and the password is case-sensitive.  
         if (((userName.Equals(strUserName,  
            StringComparison.OrdinalIgnoreCase))==true) &&  
            userPassword == strPassword)  
         {  
            return true;  
         }  
         else  
         {  
            return false;  
         }  
      }  
      bool IFtpRoleProvider.IsUserInRole(  
      string sessionId,  
         string siteName,  
         string userName,  
         string userRole)  
      {  
         // Note: You would add your own custom logic here.  
         string strUserName = "MyUser";  
         string strRoleName = "MyRole";  
  
         // Verify that the user name and role name are valid.  
         // Note: In this example, both the user name and  
         // the role name are case-insensitive.  
         if (((userName.Equals(strUserName,  
            StringComparison.OrdinalIgnoreCase))==true) &&  
            ((userRole.Equals(strRoleName,  
            StringComparison.OrdinalIgnoreCase))==true))  
         {  
            return true;  
         }  
         else  
         {  
            return false;  
         }  
      }  
   }  
}  

For an additional example, see Create an FTP Authentication and Authorization Provider using an XML Database.

TypeDescription
Client- IIS 7.5 on Windows 7
- IIS 8.0 on Windows 8
- IIS 10.0 on Windows 10
Server- IIS 7.5 on Windows Server 2008 R2
- IIS 8.0 on Windows Server 2012
- IIS 8.5 on Windows Server 2012 R2
- IIS 10.0 on Windows Server 2016 Technical Preview
Product- IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
ReferenceMicrosoft.Web.FtpServer.dll

IFtpRoleProvider Interface

IFtpAuthorizationProvider Interface

Show: