2016-06-27 13 views
5

Tôi đang sử dụng xác thực dựa trên mã thông báo cho dịch vụ API Web của mình. Nhưng tôi muốn theo dõi createdby, createdon thông tin cho tất cả các hồ sơ. Vì vậy, tôi đang đặt HttpContext.Current.UserGenericIdentity với userId trong số AuthenticationFilter của tôi. Nhưng tôi không muốn truy cập HttpContext từ trình dữ liệu của mình vì tôi nghĩ lớp dữ liệu không nên biết bất kỳ điều gì về HttpContext.API Web Asp.Net chuyển người dùng qua các lớp

Vì vậy, có bất kỳ phương pháp hay nhất nào để chuyển thông tin người dùng qua các lớp không có `HttpContext 'không?

Trả lời

2

Gán hiệu trưởng của bạn cho cả hai HttpContxt.Current.UserThread.CurrentPrincipal.

Sau đó, bạn có thể truy cập vào Thread.CurrentPrincipal từ bất kỳ nơi nào bên trong mã của mình, tất nhiên ngay cả từ các dự án không có tham chiếu đến System.Web.

Các vấn đề liên quan