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.

IFtpAuthenticationProvider.AuthenticateUser Method

Checks if a user name and password are valid.

Example

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;
         }
      }
   }
}

Requirements

Type

Description

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

Reference

Microsoft.Web.FtpServer.dll

Show: