I've been using Windows Identity Foundation. Sure, the documentation is poor.
What seems really great though, is the "claims-based authentication". It basically allows the logon system to grant "claims", which are basically strings of information that describe the user. The claims are signed with a private key so the relying .net application can recognize that the claims are authentic.
Furthermore, you can use any underlying store of information about your users ( SQL, AD ) and the method of storing information about authorized users is entirely abstracted from your application. You could switch from SQL to AD one day and if the set up is correct, the relying .net application would receive the exact same claims and never know the difference.