Từ quan điểm của ASP.NET Web API, việc sử dụng nhà cung cấp dịch vụ thành viên và FormsAuthentication bên ngoài đã quá khó, vậy tại sao bạn không tham gia? :) Dù sao đi nữa, giả sử web API của bạn chỉ được sử dụng bởi các máy khách web và FA là tuyệt vời, bạn có thể sử dụng UserData của vé FA để đưa vào ID người dùng. Bằng cách đó, bạn không cần lấy ID bằng cách nhấn vào DB của mình mỗi lần. Nhưng bạn sẽ cần phải tự tạo vé và không để việc triển khai out-of-box mặc định làm điều đó cho bạn. Sau đó, trong sự kiện PostAuthenticateRequest, bạn có thể đọc ID người dùng từ vé và đặt nó trong danh tính. Tất nhiên, bạn cần tạo danh tính tùy chỉnh của riêng mình cho điều này bằng thuộc tính ID hoặc nếu bạn đang sử dụng .NET 4.5, bạn có thể sử dụng chính FormsIdentity nhưng có lẽ bạn có thể sử dụng xác nhận NameIdentifier để lưu trữ ID. Kiểm tra điều này - ASP.NET MVC - Đặt IIdentity hoặc IPrincipal tùy chỉnh .