

After working on it for the better part of a day (slowly becoming a long night) I decided to write this semi-definitive guide to setting up custom authentication in FTP 7! Prerequisites It sounds simple and straightforward at first, but it's not as perfect as we'd like at first. The best thing about it is that you can write custom extensions for it that will control the authentication process, the user roles, the home folder, and logging. I wanted to move to a different server that would store all the credentials in a SQL database (ideally within our own structure), and I've finally found what I was looking for - Microsoft has released FTP7 - an ftp server that runs on IIS 7 (Windows Vista and higher only, sorry Win2003 :) ) And apart from the fact that we were storing the credentials in two places (they were stored in the main DB already) the main problem surfaced when 2 users tried to create accounts at the same time generating a file lock. While this approach worked, it was far from perfect. The users were generated by the main ASP.NET powered web app, and had to be able to use their ftp accounts immediately.įileZilla stores these accounts in an xml file, so to add new accounts we had to open up the xml, add the new user, save the configuration file, and poll the ftp server to reload it's config file. But one of the main features we needed was to be able to dynamically add and remove FTP users, each locked up in their own folder, all grouped in a couple of main Categories. It's a good server, open source, easily configurable, stable. For a couple of years now the FTP server we used at my full-time job was FileZilla.
