January 21, 2014

Poor Dev's LDAP - Using Perforce For Authentication

Version Control

Image via techhive.com

A core principle here at Perforce is that we try to use Perforce to solve as many problems as we can, even when it doesn't entirely make sense. As an example, for years Perforce was the backend for our support team's CRM system. Why did we need a versioned call tracking system? We didn't! However it flushed out a huge number of performance issues over the years due to the weird ways it used Perforce metadata.

We also use Perforce as an authentication system. In the Perforce Public Depot we use the P4Auth plugin written by our own Sam Stafford to use Perforce for authentication for our MediaWiki installation. Back when we were initially setting up the wiki we were loathe to have yet another login for our users. Thankfully Sam wrote a handy plugin to let folks take advantage of their Perforce credentials, saving us all from yet another password.

In that same vein, I've recently written an authentication plugin for Apache. If you are looking to take advantage of the http support in Git Fusion 13.2, my Apache extension provides an easy way to allow users to authenticate with their Perforce user and password. If you are using the http support in Git Fusion you can validate your users using any mechanism supported by Apache, but the Perforce plugin provides a quick solution if you don't have a user management system in place.

What's the weirdest thing you've used Perforce to do? We built a call tracking system and a build artifact repository using it, but I have a feeling you folks have gotten much crazier. Post your answers to either Twitter with #p4macgyver or to the forums and I'll send t-shirts to a couple of the most interesting.