You'll need to use custom authentication within CSLA - much like the code in ProjectTracker (create your own custom principal/identity classes).
Then, in your identity class's DataPortal_Fetch() (or perhaps earlier - in the factory method or the principal's Login() method) you will need to validate the supplied user credentials against AD.
Once you are sure the credentials are valid, initializing the identity object should work the same as the example in ProjectTracker.
I agree.
I do something similar when a client wants to use Windows IDs for single sign-on. I trap the Windows ID, validate it in a different system and then use the information to log-in behind the scenes and retrieve the roles and permissions from my DB and load them into my custom Principal. From then on I just use the custom Principal in my app as normal.
Joe
Copyright (c) Marimer LLC