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.
检查用户授权和身份验证的最佳位置是什么。业务层还是应用层?
在我看来,它是应用层。它不能让用户进行用户没有足够权限的操作。
业务应该只关心业务服务并将这些服务暴露给受信任的层。使用密码防止未经授权的访问。
但也许我在这里弄错了。
这取决于您如何构建应用程序。如果应用层和业务层是同一流程的一部分,那么只在应用层进行身份验证和授权检查就可以了。
在应用程序层中执行它们确实允许您禁用不允许用户使用的功能。
但是,如果您将业务层构建为单独的服务,您需要知道谁在调用它们以及这些用户可以做什么。您还需要在这些安全边界处使用 authN 和 authZ。
受信任的子系统只有在您确保没有不受信任的方可以调用该代码的情况下才能工作。