我正在寻找一些如何指导或编码如何在业务逻辑层中实现授权的示例。我在网上看了一下,一直找不到任何与BLL直接相关的内容。
我需要启用授权才允许用户只访问他们的记录。 AAA由ASP.NET Identity提供,我想在BLL上启用授权,因此也将包括Web服务和未来项目。
答案 0 :(得分:0)
在业务逻辑层中实现ASP.Net Identity并不是一个好的设计。 BLL不应该知道Principal对象。
其中一个原因是你不需要模拟HttpContextBase来单元测试BLL服务。
另一个原因是如果您的UI稍后更改为WPF,则需要更新整个BLL图层。
总的来说,Principal对象应该保留在Presentation Layer中,而你只需将UserId传递给BLL的服务类。因此,您将无法在BLL中找到任何实现ASP.Net Identity的好指南。