IFtpAuthenticationProvider Interface (Managed)
Provides an interface for authentication checks.
Syntax
public interface IFtpAuthenticationProvider
Public Interface IFtpAuthenticationProvider
Methods
The following table lists the methods exposed by the IFtpAuthenticationProvider interface.
Method Name | Definition |
---|---|
AuthenticateUser | 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;
}
}
}
}
For an additional example, see Create an FTP Authentication and Authorization Provider using an XML Database.
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 |