Mik*_*lov 5 security business-logic n-tier-architecture
由于最相似的问题与 ASP MVC 有关,我想了解一些常见的正确选择策略。
让我们尝试决定是进入业务层还是位于服务层。
考虑到服务层具有经典的远程外观接口,因此在这里进行权限检查似乎很重要,因为用户对象实例始终在这里(服务会话绑定到用户)并准备好调用.hasPermission(...)。但这看起来像是业务逻辑泄漏。
在业务层中实现安全检查的不同方法中,我们使用“安全令牌”参数和类似的东西污染域对象接口。
有什么建议如何克服这种权衡,或者也许您知道唯一真正的解决方案?
我认为这个问题的答案很复杂,值得尽早思考。以下是一些指南。
服务层是执行以下任务的好地方:
业务层是执行以下任务的好地方:
您可以尝试将访问决策与执行点分开。例如,您的业务逻辑可以使用代码来确定用户是否可以访问特定角色并将其作为回调呈现给服务层。有时这是有道理的。
需要记住的一些想法:
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
4067 次 |
| 最近记录: |