Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 N 层架构中,REST 接口暴露了一些资源。客户端需要使用基于 TLS 的基本身份验证进行身份验证。业务逻辑确保数据有效且系统可接受。应用过滤器以确保租户只能查看和更改他的数据。如果服务需要处理相同的数据,最好 1) 使用相同的 REST 接口,但应用服务级别过滤器并使用技术帐户进行身份验证 ,或者最好 2) 使用服务帐户直接业务(域)层?`
您对使用其中一种方法而不是另一种方法的看法或逻辑是什么?
默认情况下,我允许业务层直接访问,因为这似乎是最简单的选项。只有在有特定原因时,我才会坚持所有请求都通过 REST 层的身份验证。
像大多数事情一样,这取决于您的业务案例。
您是否需要向 REST 客户端和业务层公开完全相同的服务?还是有细微的差别?
您需要知道对服务层的请求是来自 REST 客户端还是来自业务层?
您是否希望 REST 层成为安全、日志记录等的单点入口?