On the ThinkPHP blog today, Thorsten Rinne demonstrates how he (and others at GmbH/ThinkPHP) were able to integrate PHP with the Windows NT LAN Manager through a PHP script for authentication.
Sometimes you need to do strange things – and then PHP is the language of choice if you need a solution for web applications in really special environments like using a Windows based authentication method on a Linux server.
Here at Mayflower GmbH / ThinkPHP we wrote a proxy server for the authentication with NTLM (NT LAN Manager). This piece of software is used by one of our costumers for two years now without any bigger problems. It does silently its job for hundreds of users each day and they never know what's happening in the background.
He starts with explaining how the NTLM system works and some of the example encoded messages it sends back and forth. Then, on to the good stuff - how they implemented it, some of the problems they encountered, and how, in the end, they took the entire thing and rewrote it to work in a PEAR package (which was recently accepted).