我已经构建了一个以 n 层架构构建的 Web 应用程序,即 UI、BLL、API (WebAPI)、DAL。我希望通过这种关注点分离来实现对 DAL 的基本审核,即 RowCreatedBy、RowUpdatedBy 等,但是我想找出将用户身份从 UI 层向下传递到我的数据访问层,而不将其作为参数添加到我所有的 crud 调用中。那里的选项是使用 Thread.CurrentPrincipal,但是它可以工作,但问题是我的应用程序托管在具有特定标识集的应用程序池下的 IIS 中。我希望 CurrentUser 在我的所有应用程序层中都可用。请告知最好的方法?
注意:我知道人们可能会问过这个问题,但从我看到的其他参考资料来看,没有一个能满足我的情况。