Dari sudut pandang ASP.NET Web API, menggunakan penyedia keanggotaan dan FormsAuthentication yang sudah siap pakai sudah kikuk, jadi mengapa tidak bergabung? :) Bagaimanapun, dengan asumsi API web Anda hanya digunakan oleh klien web dan FA keren, Anda dapat menggunakan UserData dari tiket FA untuk memasukkan ID pengguna. Dengan begitu, Anda tidak perlu mendapatkan ID dengan menekan DB Anda setiap saat. Tetapi Anda harus membuat tiketnya sendiri dan tidak membiarkan implementasi bawaan bawaan melakukannya untuk Anda. Kemudian, di acara PostAuthenticateRequest, Anda dapat membaca ID pengguna dari tiket dan mengaturnya di identitas. Tentu saja, Anda perlu membuat identitas kustom Anda sendiri untuk ini dengan properti ID atau jika Anda menggunakan .NET 4.5, Anda dapat menggunakan FormsIdentity itu sendiri tetapi Anda dapat menggunakan klaim NameIdentifier untuk menyimpan ID, mungkin. Lihat ini - ASP.NET MVC - Tetapkan Identitas atau IPrincipal khusus .